From c5922368ded23a5d8af234456f8880cb8508749f Mon Sep 17 00:00:00 2001 From: estevez-dev Date: Mon, 9 Sep 2019 14:24:54 +0300 Subject: [PATCH] Add whars new user message --- lib/main.dart | 2 +- .../startup_user_messages_manager.class.dart | 27 ++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 70f150f..40da56d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -170,7 +170,7 @@ class HAClientApp extends StatelessWidget { "/": (context) => MainPage(title: 'HA Client'), "/connection-settings": (context) => ConnectionSettingsPage(title: "Settings"), "/putchase": (context) => PurchasePage(title: "Support app development"), - "/play-media": (context) => PlayMediaPage(mediaUrl: "${(ModalRoute.of(context).settings.arguments as Map)['url']}",), + "/play-media": (context) => PlayMediaPage(mediaUrl: "${ModalRoute.of(context).settings.arguments != null ? (ModalRoute.of(context).settings.arguments as Map)['url'] : ''}",), "/log-view": (context) => LogViewPage(title: "Log"), "/login": (context) => WebviewScaffold( url: "${ConnectionManager().oauthUrl}", diff --git a/lib/managers/startup_user_messages_manager.class.dart b/lib/managers/startup_user_messages_manager.class.dart index c874741..8a642a1 100644 --- a/lib/managers/startup_user_messages_manager.class.dart +++ b/lib/managers/startup_user_messages_manager.class.dart @@ -12,13 +12,18 @@ class StartupUserMessagesManager { StartupUserMessagesManager._internal() {} bool _supportAppDevelopmentMessageShown; + bool _whatsNewMessageShown; static final _supportAppDevelopmentMessageKey = "user-message-shown-support-development_3"; + static final _whatsNewMessageKey = "user-message-shown-whats-new-660"; void checkMessagesToShow() async { SharedPreferences prefs = await SharedPreferences.getInstance(); await prefs.reload(); _supportAppDevelopmentMessageShown = prefs.getBool(_supportAppDevelopmentMessageKey) ?? false; - if (!_supportAppDevelopmentMessageShown) { + _whatsNewMessageShown = prefs.getBool(_whatsNewMessageKey) ?? false; + if (!_whatsNewMessageShown) { + _showWhatsNewMessage(); + } else if (!_supportAppDevelopmentMessageShown) { _showSupportAppDevelopmentMessage(); } } @@ -43,4 +48,24 @@ class StartupUserMessagesManager { )); } + void _showWhatsNewMessage() { + eventBus.fire(ShowPopupDialogEvent( + title: "What's new", + body: "You can now share any media url to HA Client via Android share menu. It will try to play that media on one of your media player. There is also 'tv' button available in app header if you want to send some url manually", + positiveText: "Full release notes", + negativeText: "Ok", + onPositive: () { + SharedPreferences.getInstance().then((prefs) { + prefs.setBool(_whatsNewMessageKey, true); + Launcher.launchURL("https://github.com/estevez-dev/ha_client/releases"); + }); + }, + onNegative: () { + SharedPreferences.getInstance().then((prefs) { + prefs.setBool(_whatsNewMessageKey, true); + }); + } + )); + } + } \ No newline at end of file