Skip to content

Commit

Permalink
Merge pull request #325 from JangamRuthvik/dev
Browse files Browse the repository at this point in the history
tap-to-open task details page upon tapping on task of listview on home widget
  • Loading branch information
Pavel401 authored Mar 1, 2024
2 parents 49d4e92 + 5a871a6 commit 56b8275
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 60 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion android/app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<string name="text_data_key">textData</string>
<string name="image_data_key">imageData</string>
<string name="app_widget_launch_action">es.antonborri.home_widget.action.LAUNCH</string>
<string name="app_widget_card_clicked_uri">TaskWarriorAppWidget://cardClicked</string>
<string name="app_widget_card_clicked_uri">taskwarriorappwidget://cardclicked</string>
<string name="my_widget_description">This widget shows pending tasks from TaskWarrior app</string>
<string name="appwidget_text">TaskWarrior</string>
<string name="add_widget">Add widget</string>
Expand Down
49 changes: 34 additions & 15 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -64,20 +66,7 @@ Future main([List<String> 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<List<Directory>> getDirectories() async {
Expand Down Expand Up @@ -113,13 +102,33 @@ class _MyAppState extends State<MyApp> {
Directory? baseDirectory;
List<Task> allData = [];
bool stopTraver = false;

bool isHomeWidgetTaskTapped = false;
late String uuid;
@override
void initState() {
super.initState();

///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
Expand Down Expand Up @@ -154,7 +163,17 @@ class _MyAppState extends State<MyApp> {
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);
},),
);
}));
}
Expand Down
27 changes: 24 additions & 3 deletions lib/views/home/home.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand All @@ -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';
Expand Down Expand Up @@ -147,9 +149,28 @@ class _HomePageState extends State<HomePage> {
}

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;

Expand Down Expand Up @@ -201,7 +222,7 @@ class _HomePageState extends State<HomePage> {
tagFilters: tagFilters,
);

return Scaffold(
return isHomeWidgetTaskTapped == false ? Scaffold(
appBar: AppBar(
backgroundColor: TaskWarriorColors.kprimaryBackgroundColor,
surfaceTintColor: TaskWarriorColors.kprimaryBackgroundColor,
Expand Down Expand Up @@ -399,7 +420,7 @@ class _HomePageState extends State<HomePage> {
}),
),
resizeToAvoidBottomInset: false,
);
) : DetailRoute(uuid);
}

refresh() {
Expand Down
48 changes: 8 additions & 40 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down

0 comments on commit 56b8275

Please sign in to comment.