From e5b231a7fdd84eefd4cc4215bedfd9d8d4eb7338 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr> Date: Fri, 23 Jul 2021 16:44:19 +0200 Subject: [PATCH] Do not pick recently picked data (letter or category) --- android/gradle.properties | 4 ++-- lib/provider/data.dart | 8 ++++++++ lib/screens/home.dart | 16 ++++++++++++---- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/android/gradle.properties b/android/gradle.properties index 27d2e18..eb8b18b 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 bf343bd..8f39c4b 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 a6d86a4..781080e 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}) { -- GitLab