diff --git a/android/app/src/main/kotlin/com/example/taskwarrior/TaskWarriorWidgetProvider.kt b/android/app/src/main/kotlin/com/example/taskwarrior/TaskWarriorWidgetProvider.kt
index e8f25f4c..0e04c4f5 100644
--- a/android/app/src/main/kotlin/com/example/taskwarrior/TaskWarriorWidgetProvider.kt
+++ b/android/app/src/main/kotlin/com/example/taskwarrior/TaskWarriorWidgetProvider.kt
@@ -38,7 +38,7 @@ class TaskWarriorWidgetProvider : AppWidgetProvider() {
flags = Intent. FLAG_ACTIVITY_NEW_TASK
context?.startActivity(this)
}
- HomeWidgetLaunchIntent.getActivity(context, MainActivity::class.java, Uri.parse("TaskWarrior://taskView?taskId=$uuid"))
+ // HomeWidgetLaunchIntent.getActivity(context, MainActivity::class.java, Uri.parse("TaskWarrior://taskView?taskId=$uuid"))
}
}
super.onReceive(context, intent)
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index c1aff12b..1989514f 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -6,7 +6,7 @@
textData
imageData
es.antonborri.home_widget.action.LAUNCH
- TaskWarriorAppWidget://cardClicked
+ taskwarriorappwidget://cardclicked
This widget shows pending tasks from TaskWarrior app
TaskWarrior
Add widget
diff --git a/lib/main.dart b/lib/main.dart
index bff876a7..7eb747ee 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -12,9 +12,11 @@ import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:sizer/sizer.dart';
+import 'package:taskwarrior/config/app_settings.dart';
import 'package:taskwarrior/controller/WidgetController.dart';
import 'package:taskwarrior/controller/onboarding_controller.dart';
import 'package:taskwarrior/routes/pageroute.dart';
+import 'package:taskwarrior/services/task_details.dart';
import 'package:taskwarrior/views/Onboarding/onboarding_screen.dart';
import 'package:taskwarrior/views/profile/profile.dart';
import 'package:taskwarrior/widgets/app_placeholder.dart';
@@ -64,20 +66,7 @@ Future main([List args = const []]) async {
return const AppSetupPlaceholder();
}
})));
- HomeWidget.widgetClicked.listen((uri) async{
- if (uri != null) {
- debugPrint("i am here and uri is $uri");
- String? uuid = uri.queryParameters["uuid"];
- debugPrint('uuid is $uuid');
- if (uuid!=null) {
- // Future.delayed(Duration(seconds: 5)).then((value) => Navigator.push(context, MaterialPageRoute(builder: (context) => DetailRoute(uuid),)));
- }
- }
- if (uri?.host == "cardClicked") {
- final taskUUID = uri!.queryParameters["uuid"];
- debugPrint(taskUUID);
- }
- });
+
}
Future> getDirectories() async {
@@ -113,6 +102,9 @@ class _MyAppState extends State {
Directory? baseDirectory;
List allData = [];
bool stopTraver = false;
+
+ bool isHomeWidgetTaskTapped = false;
+ late String uuid;
@override
void initState() {
super.initState();
@@ -120,6 +112,23 @@ class _MyAppState extends State {
///sort the data by daily burn down
notificationService.initiliazeNotification();
+ helperFunction();
+ }
+
+ void helperFunction() async {
+ Uri? myUri = await HomeWidget.initiallyLaunchedFromHomeWidget();
+ if (myUri != null) {
+ if (myUri.host == "cardclicked") {
+ if (myUri.queryParameters["uuid"] != null) {
+ uuid = myUri.queryParameters["uuid"] as String;
+ setState(() {
+ isHomeWidgetTaskTapped = true;
+ });
+ // print('is tapped is $isHomeWidgetTaskTapped');
+ }
+ // debugPrint('uuid is $uuid');
+ }
+ }
}
@override
@@ -154,7 +163,17 @@ class _MyAppState extends State {
PageRoutes.profile: (context) => const ProfilePage(),
},
- home: CheckOnboardingStatus(),
+ home: isHomeWidgetTaskTapped == false
+ ? CheckOnboardingStatus()
+ : FutureBuilder(future: Future.delayed(const Duration(seconds: 2)), builder: (context, snapshot) {
+ if (snapshot.connectionState == ConnectionState.waiting) {
+ return Scaffold(
+ backgroundColor:
+ AppSettings.isDarkMode ? Palette.kToDark.shade200 : Colors.white,
+ body: const Center(child: CircularProgressIndicator()));
+ }
+ return DetailRoute(uuid);
+ },),
);
}));
}
diff --git a/lib/views/home/home.dart b/lib/views/home/home.dart
index 6472a764..de352595 100644
--- a/lib/views/home/home.dart
+++ b/lib/views/home/home.dart
@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:double_back_to_close_app/double_back_to_close_app.dart';
import 'package:google_fonts/google_fonts.dart';
+import 'package:home_widget/home_widget.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:taskwarrior/config/app_settings.dart';
@@ -12,6 +13,7 @@ import 'package:taskwarrior/controller/home_tour_controller.dart';
import 'package:taskwarrior/drawer/filter_drawer.dart';
import 'package:taskwarrior/drawer/nav_drawer.dart';
import 'package:taskwarrior/model/storage/storage_widget.dart';
+import 'package:taskwarrior/services/task_details.dart';
import 'package:taskwarrior/taskserver/ntaskserver.dart';
import 'package:taskwarrior/views/home/home_tour.dart';
import 'package:taskwarrior/widgets/add_Task.dart';
@@ -147,9 +149,28 @@ class _HomePageState extends State {
}
bool hideKey = true;
-
+ bool isHomeWidgetTaskTapped = false;
+ late String uuid;
@override
Widget build(BuildContext context) {
+
+ HomeWidget.widgetClicked.listen((uri) async{
+ // print('i am here and uri is $uri');
+ // print('is tapped is i am being called');
+ if (uri != null) {
+ if (uri.host == "cardclicked") {
+ if (uri.queryParameters["uuid"] != null) {
+ uuid = uri.queryParameters["uuid"] as String;
+ setState(() {
+ isHomeWidgetTaskTapped = true;
+ });
+ // print('is tapped is $isHomeWidgetTaskTapped');
+ }
+ debugPrint('uuid is $uuid');
+ }
+ }
+
+ });
Server? server;
Credentials? credentials;
@@ -201,7 +222,7 @@ class _HomePageState extends State {
tagFilters: tagFilters,
);
- return Scaffold(
+ return isHomeWidgetTaskTapped == false ? Scaffold(
appBar: AppBar(
backgroundColor: TaskWarriorColors.kprimaryBackgroundColor,
surfaceTintColor: TaskWarriorColors.kprimaryBackgroundColor,
@@ -399,7 +420,7 @@ class _HomePageState extends State {
}),
),
resizeToAvoidBottomInset: false,
- );
+ ) : DetailRoute(uuid);
}
refresh() {
diff --git a/pubspec.lock b/pubspec.lock
index af864631..e9e00841 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -624,30 +624,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.8.1"
- leak_tracker:
- dependency: transitive
- description:
- name: leak_tracker
- sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
- url: "https://pub.dev"
- source: hosted
- version: "10.0.0"
- leak_tracker_flutter_testing:
- dependency: transitive
- description:
- name: leak_tracker_flutter_testing
- sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
- url: "https://pub.dev"
- source: hosted
- version: "2.0.1"
- leak_tracker_testing:
- dependency: transitive
- description:
- name: leak_tracker_testing
- sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
- url: "https://pub.dev"
- source: hosted
- version: "2.0.1"
lints:
dependency: transitive
description:
@@ -676,26 +652,26 @@ packages:
dependency: transitive
description:
name: matcher
- sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
+ sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
url: "https://pub.dev"
source: hosted
- version: "0.12.16+1"
+ version: "0.12.16"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
- sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
+ sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
url: "https://pub.dev"
source: hosted
- version: "0.8.0"
+ version: "0.5.0"
meta:
dependency: transitive
description:
name: meta
- sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
+ sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
url: "https://pub.dev"
source: hosted
- version: "1.11.0"
+ version: "1.10.0"
mime:
dependency: transitive
description:
@@ -740,10 +716,10 @@ packages:
dependency: transitive
description:
name: path
- sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
+ sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
url: "https://pub.dev"
source: hosted
- version: "1.9.0"
+ version: "1.8.3"
path_parsing:
dependency: transitive
description:
@@ -1266,14 +1242,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
- vm_service:
- dependency: transitive
- description:
- name: vm_service
- sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
- url: "https://pub.dev"
- source: hosted
- version: "13.0.0"
watcher:
dependency: transitive
description: