Select Git revision
default_settings.dart
data.dart 1.75 KiB
import 'package:flutter/foundation.dart';
class Data extends ChangeNotifier {
bool _searchingCategory = false;
bool _searchingLetter = false;
String _category = '';
String _letter = '';
int _countdown = -1;
final int _recentCategoriesCount = 15;
final int _recentLettersCount = 10;
List<String> _recentCategories = [];
List<String> _recentLetters = [];
bool get searchingCategory => _searchingCategory;
void setSearchingCategory(bool value) {
_searchingCategory = value;
notifyListeners();
}
bool get searchingLetter => _searchingLetter;
void setSearchingLetter(bool value) {
_searchingLetter = value;
notifyListeners();
}
String get category => _category;
void updateCategory(String value) {
_category = value;
if (value != '') {
_recentCategories.insert(0, value);
_recentCategories = _recentCategories.take(_recentCategoriesCount).toList();
}
notifyListeners();
}
String get letter => _letter;
void updateLetter(String value) {
_letter = value;
if (value != '') {
_recentLetters.insert(0, value);
_recentLetters = _recentLetters.take(_recentLettersCount).toList();
}
notifyListeners();
}
String recentlyPickedLetter(int count) {
if (_recentLetters.length > count) {
return _recentLetters[count];
}
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;
notifyListeners();
}
void resetGame() {