Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 23-add-tip-response-on-clic-on-button
  • 42-add-allowed-categories-in-settings-page
  • 44-improve-app-metadata
  • master
  • Release_1.10.0_52
  • Release_1.10.1_53
  • Release_1.10.2_54
  • Release_1.11.0_55
  • Release_1.11.1_56
  • Release_1.2.10_16
  • Release_1.2.11_17
  • Release_1.2.12_18
  • Release_1.2.13_19
  • Release_1.2.14_20
  • Release_1.2.15_21
  • Release_1.2.16_22
  • Release_1.2.17_23
  • Release_1.2.18_24
  • Release_1.2.19_25
  • Release_1.2.20_26
  • Release_1.2.21_27
  • Release_1.2.22_28
  • Release_1.2.23_29
  • Release_1.2.24_30
  • Release_1.2.25_31
  • Release_1.2.26_32
  • Release_1.2.27_33
  • Release_1.2.28_34
  • Release_1.2.29_35
  • Release_1.2.30_36
  • Release_1.2.31_37
  • Release_1.2.32_38
  • Release_1.2.33_39
  • Release_1.3.0_40
  • Release_1.3.1_41
  • Release_1.4.0_42
  • Release_1.4.1_43
  • Release_1.5.0_44
  • Release_1.5.1_45
  • Release_1.6.0_46
  • Release_1.6.1_47
  • Release_1.6.2_48
  • Release_1.7.0_49
  • Release_1.8.0_50
  • Release_1.9.0_51
45 results

Target

Select target project
  • android/petitbac
1 result
Select Git revision
  • 23-add-tip-response-on-clic-on-button
  • 42-add-allowed-categories-in-settings-page
  • 44-improve-app-metadata
  • master
  • Release_1.10.0_52
  • Release_1.10.1_53
  • Release_1.10.2_54
  • Release_1.11.0_55
  • Release_1.11.1_56
  • Release_1.2.10_16
  • Release_1.2.11_17
  • Release_1.2.12_18
  • Release_1.2.13_19
  • Release_1.2.14_20
  • Release_1.2.15_21
  • Release_1.2.16_22
  • Release_1.2.17_23
  • Release_1.2.18_24
  • Release_1.2.19_25
  • Release_1.2.20_26
  • Release_1.2.21_27
  • Release_1.2.22_28
  • Release_1.2.23_29
  • Release_1.2.24_30
  • Release_1.2.25_31
  • Release_1.2.26_32
  • Release_1.2.27_33
  • Release_1.2.28_34
  • Release_1.2.29_35
  • Release_1.2.30_36
  • Release_1.2.31_37
  • Release_1.2.32_38
  • Release_1.2.33_39
  • Release_1.3.0_40
  • Release_1.3.1_41
  • Release_1.4.0_42
  • Release_1.4.1_43
  • Release_1.5.0_44
  • Release_1.5.1_45
  • Release_1.6.0_46
  • Release_1.6.1_47
  • Release_1.6.2_48
  • Release_1.7.0_49
  • Release_1.8.0_50
  • Release_1.9.0_51
45 results
Show changes

Commits on Source 2

org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
app.versionName=1.2.12
app.versionCode=18
app.versionName=1.2.13
app.versionCode=19
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:flutter/services.dart';
import 'provider/data.dart';
import 'screens/home.dart';
void main() => runApp(MyApp());
void main() {
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
.then((value) => runApp(MyApp()));
}
class MyApp extends StatelessWidget {
@override
......
......@@ -2,44 +2,61 @@ import 'package:flutter/foundation.dart';
class Data extends ChangeNotifier {
// randomization
bool _searchingCategory = false;
bool _searchingLetter = false;
String _category = '';
String _letter = '';
int _countdown = -1;
bool get searchingCategory => _searchingCategory;
final int _recentCategoriesCount = 15;
final int _recentLettersCount = 10;
List _recentCategories = [];
List _recentLetters = [];
set searchingCategory(bool value) {
bool get searchingCategory => _searchingCategory;
void setSearchingCategory(bool value) {
_searchingCategory = value;
notifyListeners();
}
bool get searchingLetter => _searchingLetter;
set searchingLetter(bool value) {
void setSearchingLetter(bool value) {
_searchingLetter = value;
notifyListeners();
}
String get category => _category;
set updateCategory(String value) {
void updateCategory(String value) {
_category = value;
if (value != null && value != '') {
_recentCategories.insert(0, value);
_recentCategories = _recentCategories.take(_recentCategoriesCount).toList();
}
notifyListeners();
}
String get letter => _letter;
set updateLetter(String value) {
void updateLetter(String value) {
_letter = value;
if (value != null && value != '') {
_recentLetters.insert(0, value);
_recentLetters = _recentLetters.take(_recentLettersCount).toList();
}
notifyListeners();
}
int get countdown => _countdown;
String recentlyPickedLetter(int count) {
if (_recentLetters.length > count) {
return _recentLetters[count];
}
return '';
}
set updateCountdown(int value) {
int get countdown => _countdown;
void updateCountdown(int value) {
_countdown = value;
notifyListeners();
}
......
......@@ -30,7 +30,7 @@ class Home extends StatelessWidget {
dispose();
}
_countdownStart = 10;
myProvider.updateCountdown = _countdownStart;
myProvider.updateCountdown(_countdownStart);
_timer = new Timer.periodic(
oneSec,
(Timer timer) {
......@@ -38,7 +38,7 @@ class Home extends StatelessWidget {
timer.cancel();
} else {
_countdownStart--;
myProvider.updateCountdown = _countdownStart;
myProvider.updateCountdown(_countdownStart);
}
},
);
......@@ -50,15 +50,15 @@ class Home extends StatelessWidget {
}
Future<void> pickCategory(Data myProvider) async {
myProvider.searchingCategory = true;
myProvider.setSearchingCategory(true);
RandomPickCategory randomPickCategory;
int attempts = 0;
do {
randomPickCategory = RandomPickCategory();
await randomPickCategory.init();
if (randomPickCategory.category != null) {
myProvider.updateCategory = randomPickCategory.category;
myProvider.searchingCategory = false;
myProvider.updateCategory(randomPickCategory.category);
myProvider.setSearchingCategory(false);
break;
}
attempts++;
......@@ -66,15 +66,15 @@ class Home extends StatelessWidget {
}
Future<void> pickLetter(Data myProvider) async {
myProvider.searchingLetter = true;
myProvider.setSearchingLetter(true);
RandomPickLetter randomPickLetter;
int attempts = 0;
do {
randomPickLetter = RandomPickLetter();
await randomPickLetter.init();
if (randomPickLetter.letter != null) {
myProvider.updateLetter = randomPickLetter.letter;
myProvider.searchingLetter = false;
myProvider.updateLetter(randomPickLetter.letter);
myProvider.setSearchingLetter(false);
break;
}
attempts++;
......@@ -87,15 +87,10 @@ class Home extends StatelessWidget {
return hslDark.toColor();
}
Container _buildPickedLetterContainer(Data myProvider, Color backgroundColor, double borderWidth) {
Container mainLetterButtonContainer(Data myProvider, Color backgroundColor, double borderWidth) {
Color borderColor = darken(backgroundColor);
return Container(
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
margin: EdgeInsets.all(borderWidth),
padding: EdgeInsets.all(borderWidth),
decoration: BoxDecoration(
......@@ -117,9 +112,85 @@ class Home extends StatelessWidget {
),
),
),
);
}
Container previousLetterBlockContainer(Data myProvider, int position, bool displayed) {
double spacingWidth = 2;
double borderWidth = 3;
Color backgroundColor = Colors.grey;
Color borderColor = darken(backgroundColor);
Color fontColor = Colors.black;
String letter = myProvider.recentlyPickedLetter(position);
if (letter == '' || displayed == false) {
backgroundColor = Colors.white;
borderColor = Colors.white;
fontColor = Colors.white;
}
return Container(
margin: EdgeInsets.all(spacingWidth),
padding: EdgeInsets.all(spacingWidth),
decoration: BoxDecoration(
color: backgroundColor,
borderRadius: BorderRadius.circular(borderWidth),
border: Border.all(
color: borderColor,
width: borderWidth,
),
),
child: Text(
' ' + letter + ' ',
style: TextStyle(
fontSize: 35.0 - (7 * position),
fontWeight: FontWeight.w600,
color: fontColor,
),
),
],
);
}
Container _buildPickedLetterContainer(Data myProvider, Color backgroundColor, double borderWidth) {
int previousLettersCountToShow = 3;
List <Widget> cells = [];
// Add previous letters blocks
for (var i = 0; i < previousLettersCountToShow; i++) {
cells.add(TableCell(
verticalAlignment: TableCellVerticalAlignment.middle,
child: previousLetterBlockContainer(myProvider, previousLettersCountToShow - i, true)
));
}
// Add current letter block
cells.add(TableCell(
verticalAlignment: TableCellVerticalAlignment.middle,
child: mainLetterButtonContainer(myProvider, backgroundColor, borderWidth)
));
// Pad with empty blocks to keep symetrical layout
for (var i = 0; i < previousLettersCountToShow; i++) {
cells.add(TableCell(
verticalAlignment: TableCellVerticalAlignment.middle,
child: previousLetterBlockContainer(myProvider, i + 1, false)
));
}
return Container(
margin: EdgeInsets.all(2),
padding: EdgeInsets.all(2),
child: Table(
defaultColumnWidth: IntrinsicColumnWidth(),
children: [
TableRow(
children: cells
),
]
)
);
}
......
......@@ -7,7 +7,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.6.1"
version: "2.7.0"
boolean_selector:
dependency: transitive
description:
......@@ -28,7 +28,7 @@ packages:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
version: "1.3.1"
clock:
dependency: transitive
description:
......@@ -73,7 +73,7 @@ packages:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
version: "1.7.0"
nested:
dependency: transitive
description:
......@@ -141,7 +141,7 @@ packages:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.0"
version: "0.4.1"
typed_data:
dependency: transitive
description:
......