@@ -23,6 +23,7 @@ import 'package:taskwarrior/app/tour/filter_drawer_tour.dart';
2323import 'package:taskwarrior/app/tour/home_page_tour.dart' ;
2424import 'package:taskwarrior/app/utils/constants/taskwarrior_colors.dart' ;
2525import 'package:taskwarrior/app/utils/language/supported_language.dart' ;
26+ import 'package:taskwarrior/app/utils/taskchampion/taskchampion.dart' ;
2627import 'package:taskwarrior/app/utils/taskfunctions/comparator.dart' ;
2728import 'package:taskwarrior/app/utils/taskfunctions/projects.dart' ;
2829import 'package:taskwarrior/app/utils/taskfunctions/query.dart' ;
@@ -50,6 +51,7 @@ class HomeController extends GetxController {
5051 final Rx <SupportedLanguage > selectedLanguage = SupportedLanguage .english.obs;
5152 final ScrollController scrollController = ScrollController ();
5253 final RxBool showbtn = false .obs;
54+ var tasks = < Tasks > [].obs;
5355
5456 @override
5557 void onInit () {
@@ -69,6 +71,7 @@ class HomeController extends GetxController {
6971 }
7072 getUniqueProjects ();
7173 _loadTaskChampion ();
74+ fetchTasksFromDB ();
7275 }
7376
7477 Future <List <String >> getUniqueProjects () async {
@@ -78,6 +81,28 @@ class HomeController extends GetxController {
7881 return uniqueProjects;
7982 }
8083
84+ Future <void > deleteAllTasksInDB () async {
85+ var taskDatabase = TaskDatabase ();
86+ await taskDatabase.deleteAllTasksInDB ();
87+ debugPrint ('Deleted all tasks from db' );
88+ }
89+
90+ Future <void > refreshTasks (String clientId, String encryptionSecret) async {
91+ TaskDatabase taskDatabase = TaskDatabase ();
92+ await taskDatabase.open ();
93+ List <Tasks > tasksFromServer = await fetchTasks (clientId, encryptionSecret);
94+ await updateTasksInDatabase (tasksFromServer);
95+ List <Tasks > fetchedTasks = await taskDatabase.fetchTasksFromDatabase ();
96+ tasks.value = fetchedTasks;
97+ }
98+
99+ Future <void > fetchTasksFromDB () async {
100+ TaskDatabase taskDatabase = TaskDatabase ();
101+ await taskDatabase.open ();
102+ List <Tasks > fetchedTasks = await taskDatabase.fetchTasksFromDatabase ();
103+ tasks.value = fetchedTasks;
104+ }
105+
81106 Future <void > _loadTaskChampion () async {
82107 final SharedPreferences prefs = await SharedPreferences .getInstance ();
83108 taskchampion.value = prefs.getBool ('taskchampion' ) ?? false ;
@@ -440,9 +465,12 @@ class HomeController extends GetxController {
440465 final SharedPreferences prefs = await SharedPreferences .getInstance ();
441466 bool ? value;
442467 value = prefs.getBool ('sync-onStart' ) ?? false ;
443-
468+ String ? clientId, encryptionSecret;
469+ clientId = await CredentialsStorage .getClientId ();
470+ encryptionSecret = await CredentialsStorage .getEncryptionSecret ();
444471 if (value) {
445472 synchronize (context, false );
473+ refreshTasks (clientId! , encryptionSecret! );
446474 } else {}
447475 }
448476
0 commit comments