diff --git a/android/gradle.properties b/android/gradle.properties index 27d2e182d9d1b61241538ad078465bb4f7f6ddbb..eb8b18b0461ab60ff6b2d6fd904ef8f647d8adbb 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -app.versionName=1.2.13 -app.versionCode=19 +app.versionName=1.2.14 +app.versionCode=20 diff --git a/lib/provider/data.dart b/lib/provider/data.dart index bf343bd1c7681e3d3b1d40067a8bf0b2bf531db9..8f39c4ba5e8f17988950cb3947d35ccf6df4a537 100644 --- a/lib/provider/data.dart +++ b/lib/provider/data.dart @@ -55,6 +55,14 @@ class Data extends ChangeNotifier { return ''; } + bool isCategoryRecentlyPicked(String category) { + return _recentCategories.contains(category); + } + + bool isLetterRecentlyPicked(String letter) { + return _recentLetters.contains(letter); + } + int get countdown => _countdown; void updateCountdown(int value) { _countdown = value; diff --git a/lib/screens/home.dart b/lib/screens/home.dart index a6d86a49bb9b4b3d107564b706180cfa7260a2e2..781080eb21dfbc6daea30c60699309824d2fd2d5 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -56,13 +56,17 @@ class Home extends StatelessWidget { do { randomPickCategory = RandomPickCategory(); await randomPickCategory.init(); - if (randomPickCategory.category != null) { + if ( + randomPickCategory.category != null + && + !myProvider.isCategoryRecentlyPicked(randomPickCategory.category) + ) { myProvider.updateCategory(randomPickCategory.category); myProvider.setSearchingCategory(false); break; } attempts++; - } while (attempts < 3); + } while (attempts < 10); } Future<void> pickLetter(Data myProvider) async { @@ -72,13 +76,17 @@ class Home extends StatelessWidget { do { randomPickLetter = RandomPickLetter(); await randomPickLetter.init(); - if (randomPickLetter.letter != null) { + if ( + randomPickLetter.letter != null + && + !myProvider.isLetterRecentlyPicked(randomPickLetter.letter) + ) { myProvider.updateLetter(randomPickLetter.letter); myProvider.setSearchingLetter(false); break; } attempts++; - } while (attempts < 3); + } while (attempts < 10); } Color darken(Color baseColor, {double amount = 0.2}) {