@@ -9,6 +9,7 @@ import 'package:get/get.dart';
99import 'package:home_widget/home_widget.dart' ;
1010import 'package:loggy/loggy.dart' ;
1111import 'package:shared_preferences/shared_preferences.dart' ;
12+ import 'package:taskwarrior/api_service.dart' ;
1213import 'package:taskwarrior/app/models/filters.dart' ;
1314
1415import 'package:taskwarrior/app/models/json/task.dart' ;
@@ -22,6 +23,7 @@ import 'package:taskwarrior/app/tour/filter_drawer_tour.dart';
2223import 'package:taskwarrior/app/tour/home_page_tour.dart' ;
2324import 'package:taskwarrior/app/utils/constants/taskwarrior_colors.dart' ;
2425import 'package:taskwarrior/app/utils/language/supported_language.dart' ;
26+ import 'package:taskwarrior/app/utils/taskchampion/credentials_storage.dart' ;
2527import 'package:taskwarrior/app/utils/taskfunctions/comparator.dart' ;
2628import 'package:taskwarrior/app/utils/taskfunctions/projects.dart' ;
2729import 'package:taskwarrior/app/utils/taskfunctions/query.dart' ;
@@ -49,6 +51,8 @@ class HomeController extends GetxController {
4951 final Rx <SupportedLanguage > selectedLanguage = SupportedLanguage .english.obs;
5052 final ScrollController scrollController = ScrollController ();
5153 final RxBool showbtn = false .obs;
54+ late TaskDatabase taskdb;
55+ var tasks = < Tasks > [].obs;
5256
5357 @override
5458 void onInit () {
@@ -66,6 +70,45 @@ class HomeController extends GetxController {
6670 if (Platform .isAndroid) {
6771 handleHomeWidgetClicked ();
6872 }
73+ taskdb = TaskDatabase ();
74+ taskdb.open ();
75+ getUniqueProjects ();
76+ _loadTaskChampion ();
77+ fetchTasksFromDB ();
78+ }
79+
80+ Future <List <String >> getUniqueProjects () async {
81+ var taskDatabase = TaskDatabase ();
82+ List <String > uniqueProjects = await taskDatabase.fetchUniqueProjects ();
83+ debugPrint ('Unique projects: $uniqueProjects ' );
84+ return uniqueProjects;
85+ }
86+
87+ Future <void > deleteAllTasksInDB () async {
88+ var taskDatabase = TaskDatabase ();
89+ await taskDatabase.deleteAllTasksInDB ();
90+ debugPrint ('Deleted all tasks from db' );
91+ }
92+
93+ Future <void > refreshTasks (String clientId, String encryptionSecret) async {
94+ TaskDatabase taskDatabase = TaskDatabase ();
95+ await taskDatabase.open ();
96+ List <Tasks > tasksFromServer = await fetchTasks (clientId, encryptionSecret);
97+ await updateTasksInDatabase (tasksFromServer);
98+ List <Tasks > fetchedTasks = await taskDatabase.fetchTasksFromDatabase ();
99+ tasks.value = fetchedTasks;
100+ }
101+
102+ Future <void > fetchTasksFromDB () async {
103+ TaskDatabase taskDatabase = TaskDatabase ();
104+ await taskDatabase.open ();
105+ List <Tasks > fetchedTasks = await taskDatabase.fetchTasksFromDatabase ();
106+ tasks.value = fetchedTasks;
107+ }
108+
109+ Future <void > _loadTaskChampion () async {
110+ final SharedPreferences prefs = await SharedPreferences .getInstance ();
111+ taskchampion.value = prefs.getBool ('taskchampion' ) ?? false ;
69112 }
70113
71114 void addListenerToScrollController () {
@@ -425,21 +468,25 @@ class HomeController extends GetxController {
425468 final SharedPreferences prefs = await SharedPreferences .getInstance ();
426469 bool ? value;
427470 value = prefs.getBool ('sync-onStart' ) ?? false ;
428-
471+ String ? clientId, encryptionSecret;
472+ clientId = await CredentialsStorage .getClientId ();
473+ encryptionSecret = await CredentialsStorage .getEncryptionSecret ();
429474 if (value) {
430475 synchronize (context, false );
476+ refreshTasks (clientId! , encryptionSecret! );
431477 } else {}
432478 }
433479
434480 RxBool syncOnStart = false .obs;
435481 RxBool syncOnTaskCreate = false .obs;
436482 RxBool delaytask = false .obs;
437483 RxBool change24hr = false .obs;
484+ RxBool taskchampion = false .obs;
438485
439486 // dialogue box
440-
441487 final formKey = GlobalKey <FormState >();
442488 final namecontroller = TextEditingController ();
489+ final projectcontroller = TextEditingController ();
443490 var due = Rxn <DateTime >();
444491 RxString dueString = '' .obs;
445492 RxString priority = 'M' .obs;
@@ -505,7 +552,7 @@ class HomeController extends GetxController {
505552 void initLanguageAndDarkMode () {
506553 isDarkModeOn.value = AppSettings .isDarkMode;
507554 selectedLanguage.value = AppSettings .selectedLanguage;
508- print ("called and value is${isDarkModeOn .value }" );
555+ // print("called and value is${isDarkModeOn.value}");
509556 }
510557
511558 final addKey = GlobalKey ();
@@ -557,6 +604,7 @@ class HomeController extends GetxController {
557604
558605 final GlobalKey statusKey = GlobalKey ();
559606 final GlobalKey projectsKey = GlobalKey ();
607+ final GlobalKey projectsKeyTaskc = GlobalKey ();
560608 final GlobalKey filterTagKey = GlobalKey ();
561609 final GlobalKey sortByKey = GlobalKey ();
562610
@@ -565,6 +613,7 @@ class HomeController extends GetxController {
565613 targets: filterDrawer (
566614 statusKey: statusKey,
567615 projectsKey: projectsKey,
616+ projectsKeyTaskc: projectsKeyTaskc,
568617 filterTagKey: filterTagKey,
569618 sortByKey: sortByKey,
570619 ),
0 commit comments