From c1fc8b8e65988368784c7b67ac7bcf0ef25bc501 Mon Sep 17 00:00:00 2001 From: hmalik144 Date: Sat, 18 Feb 2023 11:14:35 +0000 Subject: [PATCH] Home widget update (#25) * home widget update * - fix for homescreen - version updated --- lib/main.dart | 18 +++++++++++------- pubspec.lock | 11 +++++++++-- pubspec.yaml | 5 +++-- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index c412aa0..0211ea4 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -24,7 +24,8 @@ Future main() async { runApp(const MyApp()); } -Future backgroundCallback(Uri? uri) async { +@pragma("vm:entry-point") +Future backgroundCallback(Uri? uri) async { PreferenceProvider prefs = PreferenceProvider(); await prefs.init(); CurrencyApi api = CurrencyApi.create(); @@ -35,7 +36,7 @@ Future backgroundCallback(Uri? uri) async { Map? querys = uri?.queryParameters; String? widgetId = querys?["id"]; - await updateWidget(widgetId, repository); + return await updateWidget(widgetId, repository); } else if (uri?.host == 'createwidget') { Map? querys = uri?.queryParameters; String? widgetId = querys?["id"]; @@ -45,26 +46,29 @@ Future backgroundCallback(Uri? uri) async { await HomeWidget.saveWidgetData("${widgetId}_from", from); await HomeWidget.saveWidgetData("${widgetId}_to", to); - await updateWidget(widgetId, repository); + return await updateWidget(widgetId, repository); } + return null; } -Future updateWidget(String? widgetId, Repository repository) async { +Future updateWidget(String? widgetId, Repository repository) async { String? from = await HomeWidget.getWidgetData("${widgetId}_from"); String? to = await HomeWidget.getWidgetData("${widgetId}_to"); if (from == null || to == null) { - return; + return false; } Currency currency = await repository.getConversationRateFromApi(from, to); await HomeWidget.saveWidgetData("${widgetId}_from", from); await HomeWidget.saveWidgetData("${widgetId}_to", to); - await HomeWidget.saveWidgetData("${widgetId}_rate", currency.rate.toString()); + await HomeWidget.saveWidgetData( + "${widgetId}_rate", currency.rate.toString()); await HomeWidget.saveWidgetData("${widgetId}_forced_update", true); - await HomeWidget.updateWidget(name: 'AppWidgetProvider', iOSName: 'AppWidgetProvider'); + return await HomeWidget.updateWidget( + name: 'AppWidgetProvider', iOSName: 'AppWidgetProvider'); } class MyApp extends StatelessWidget { diff --git a/pubspec.lock b/pubspec.lock index 83f4454..51ad6a6 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -288,7 +288,7 @@ packages: name: home_widget url: "https://pub.dartlang.org" source: hosted - version: "0.1.6" + version: "0.2.0+1" http_multi_server: dependency: transitive description: @@ -756,6 +756,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.0.0" + workmanager: + dependency: "direct main" + description: + name: workmanager + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.1" xdg_directories: dependency: transitive description: @@ -778,5 +785,5 @@ packages: source: hosted version: "3.1.1" sdks: - dart: ">=2.18.0-190.0.dev <3.0.0" + dart: ">=2.18.0 <3.0.0" flutter: ">=3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index 4cc7146..f76acf3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 6.1.2+9 +version: 6.1.3+10 environment: sdk: '>=2.18.0-190.0.dev <3.0.0' @@ -49,7 +49,8 @@ dependencies: mockito: ^5.3.2 json_annotation: ^4.7.0 flutter_launcher_icons: ^0.10.0 - home_widget: ^0.1.6 + home_widget: ^0.2.0+1 + workmanager: ^0.5.1 dev_dependencies: flutter_test: