I would like to reset dailyTasks
field to 0
every day at midnight. I'm persisting the field using Get Storage plugin. The data is persisting but not resetting.
Code is as follow:
class DataController with GetxController {
@override
void onInit() {
getDailyTask();
super.onInit();
}
int dailyTasks;
// DateTime
DateTime now = DateTime.now();
void dailyTaskIncrement() {
dailyReads++;
dataBox.write('dailyTasks', dailyTasks);
update();
}
void getDailyTask() {
dailyTasks = dataBox.read('dailyTasks');
if (now == 12) {
dailyTasks = 0;
}
update();
}
}
// For User Loren
int dailyTasks;
// DateTime
DateTime now = DateTime.now();
//
void dailyTasksIncrement() {
dailyTasks++;
dataBox.write('dailyTasks', dailyTasks);
update();
}
// Stores time to storage
void _storeAppStartupTime() => dataBox.write('startupTime', now.toString());
//
void getDailyTasks() {
final previousStartupTime = DateTime.parse(dataBox.read('startupTime'));
final nextMidnight = DateTime(
previousStartupTime.year,
previousStartupTime.month,
previousStartupTime.day + 1); // returns exactly the next midnight
if (now.isAfter(nextMidnight)) {
dailyTasks = dataBox.read('dailyTasks');
dailyTasks = 0;
} else {
dailyTasks = dataBox.read('dailyTasks');
dailyTasks == null ? dailyTasks = 0 : dailyTasks;
}
update();
}
}