Home widget update (#25)

* home widget update

* - fix for homescreen
 - version updated
This commit is contained in:
2023-02-18 11:14:35 +00:00
committed by GitHub
parent 1bfd6e38e5
commit c1fc8b8e65
3 changed files with 23 additions and 11 deletions

View File

@@ -24,7 +24,8 @@ Future<void> main() async {
runApp(const MyApp()); runApp(const MyApp());
} }
Future<void> backgroundCallback(Uri? uri) async { @pragma("vm:entry-point")
Future<bool?> backgroundCallback(Uri? uri) async {
PreferenceProvider prefs = PreferenceProvider(); PreferenceProvider prefs = PreferenceProvider();
await prefs.init(); await prefs.init();
CurrencyApi api = CurrencyApi.create(); CurrencyApi api = CurrencyApi.create();
@@ -35,7 +36,7 @@ Future<void> backgroundCallback(Uri? uri) async {
Map<String, String>? querys = uri?.queryParameters; Map<String, String>? querys = uri?.queryParameters;
String? widgetId = querys?["id"]; String? widgetId = querys?["id"];
await updateWidget(widgetId, repository); return await updateWidget(widgetId, repository);
} else if (uri?.host == 'createwidget') { } else if (uri?.host == 'createwidget') {
Map<String, String>? querys = uri?.queryParameters; Map<String, String>? querys = uri?.queryParameters;
String? widgetId = querys?["id"]; String? widgetId = querys?["id"];
@@ -45,26 +46,29 @@ Future<void> backgroundCallback(Uri? uri) async {
await HomeWidget.saveWidgetData<String>("${widgetId}_from", from); await HomeWidget.saveWidgetData<String>("${widgetId}_from", from);
await HomeWidget.saveWidgetData<String>("${widgetId}_to", to); await HomeWidget.saveWidgetData<String>("${widgetId}_to", to);
await updateWidget(widgetId, repository); return await updateWidget(widgetId, repository);
} }
return null;
} }
Future<void> updateWidget(String? widgetId, Repository repository) async { Future<bool?> updateWidget(String? widgetId, Repository repository) async {
String? from = await HomeWidget.getWidgetData<String>("${widgetId}_from"); String? from = await HomeWidget.getWidgetData<String>("${widgetId}_from");
String? to = await HomeWidget.getWidgetData<String>("${widgetId}_to"); String? to = await HomeWidget.getWidgetData<String>("${widgetId}_to");
if (from == null || to == null) { if (from == null || to == null) {
return; return false;
} }
Currency currency = await repository.getConversationRateFromApi(from, to); Currency currency = await repository.getConversationRateFromApi(from, to);
await HomeWidget.saveWidgetData<String>("${widgetId}_from", from); await HomeWidget.saveWidgetData<String>("${widgetId}_from", from);
await HomeWidget.saveWidgetData<String>("${widgetId}_to", to); await HomeWidget.saveWidgetData<String>("${widgetId}_to", to);
await HomeWidget.saveWidgetData<String>("${widgetId}_rate", currency.rate.toString()); await HomeWidget.saveWidgetData<String>(
"${widgetId}_rate", currency.rate.toString());
await HomeWidget.saveWidgetData<bool>("${widgetId}_forced_update", true); await HomeWidget.saveWidgetData<bool>("${widgetId}_forced_update", true);
await HomeWidget.updateWidget(name: 'AppWidgetProvider', iOSName: 'AppWidgetProvider'); return await HomeWidget.updateWidget(
name: 'AppWidgetProvider', iOSName: 'AppWidgetProvider');
} }
class MyApp extends StatelessWidget { class MyApp extends StatelessWidget {

View File

@@ -288,7 +288,7 @@ packages:
name: home_widget name: home_widget
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.6" version: "0.2.0+1"
http_multi_server: http_multi_server:
dependency: transitive dependency: transitive
description: description:
@@ -756,6 +756,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.0" version: "3.0.0"
workmanager:
dependency: "direct main"
description:
name: workmanager
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.1"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
@@ -778,5 +785,5 @@ packages:
source: hosted source: hosted
version: "3.1.1" version: "3.1.1"
sdks: sdks:
dart: ">=2.18.0-190.0.dev <3.0.0" dart: ">=2.18.0 <3.0.0"
flutter: ">=3.0.0" flutter: ">=3.0.0"

View File

@@ -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. # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at # Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 6.1.2+9 version: 6.1.3+10
environment: environment:
sdk: '>=2.18.0-190.0.dev <3.0.0' sdk: '>=2.18.0-190.0.dev <3.0.0'
@@ -49,7 +49,8 @@ dependencies:
mockito: ^5.3.2 mockito: ^5.3.2
json_annotation: ^4.7.0 json_annotation: ^4.7.0
flutter_launcher_icons: ^0.10.0 flutter_launcher_icons: ^0.10.0
home_widget: ^0.1.6 home_widget: ^0.2.0+1
workmanager: ^0.5.1
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: