Skip to content

Commit

Permalink
tap-to-open task details page upon tapping on task of listview on hom…
Browse files Browse the repository at this point in the history
…e widget
  • Loading branch information
JangamRuthvik committed Mar 1, 2024
1 parent 6ea2bb6 commit 1b02b67
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 35 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
76 changes: 46 additions & 30 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ import 'package:loggy/loggy.dart';
import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.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 @@ -48,35 +50,19 @@ Future main([List<String> args = const []]) async {
'${testingDirectory.path}/profiles/acae0462-6a34-11e4-8001-002590720087',
).createSync(recursive: true);
}
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown
]).then((value) =>
runApp(
FutureBuilder<Directory>(
future: getApplicationDocumentsDirectory(),
builder: (context, snapshot) => (snapshot.hasData)
? ProfilesWidget(
baseDirectory: testingDirectory ?? snapshot.data!,
child: const MyApp(),
)
: 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);
}
});
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitUp, DeviceOrientation.portraitDown])
.then((value) => runApp(
FutureBuilder<Directory>(
future: getApplicationDocumentsDirectory(),
builder: (context, snapshot) => (snapshot.hasData)
? ProfilesWidget(
baseDirectory: testingDirectory ?? snapshot.data!,
child: const MyApp(),
)
: const AppSetupPlaceholder(),
),
));
}

Future init() async {
Expand All @@ -102,13 +88,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 @@ -143,7 +149,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,13 +4,15 @@ 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';
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 @@ -146,9 +148,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 @@ -200,7 +221,7 @@ class _HomePageState extends State<HomePage> {
tagFilters: tagFilters,
);

return Scaffold(
return isHomeWidgetTaskTapped == false ? Scaffold(
appBar: AppBar(
backgroundColor: Palette.kToDark.shade200,
title:
Expand Down Expand Up @@ -376,7 +397,7 @@ class _HomePageState extends State<HomePage> {
}),
),
resizeToAvoidBottomInset: false,
);
) : DetailRoute(uuid);
}

refresh() {
Expand Down

0 comments on commit 1b02b67

Please sign in to comment.