diff --git a/lib/ui/app_update_screen.dart b/lib/ui/app_update_screen.dart index 4a769c3..b05f436 100644 --- a/lib/ui/app_update_screen.dart +++ b/lib/ui/app_update_screen.dart @@ -2,6 +2,7 @@ import 'dart:io'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; +import 'package:in_app_update/in_app_update.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; @@ -37,16 +38,38 @@ class _UnsafeDeviceScreenState extends State { dynamicParams.toString().toText14(isCenter: true).paddingOnly(left: 20.0, right: 20.0), 21.height, DefaultButton(LocaleKeys.ok.tr(), () async { - if (Platform.isAndroid || Platform.isIOS) { - var appId = Platform.isAndroid ? 'hmg.cloudSolutions.mohem' : '1468856602'; + if (Platform.isAndroid) { + // _launchURL("https://play.google.com/store/apps/details?id=com.ejada.hmg"); + InAppUpdate.checkForUpdate().then((info) { + print("checkForUpdate!!!"); + print(info.toString()); + if (info.immediateUpdateAllowed) { + print("Immediate Allowed!!!"); + InAppUpdate.performImmediateUpdate().then((value) {}).catchError((e) => print(e.toString())); + } + }).catchError((e) { + print(e.toString()); + }); + } + if (Platform.isIOS) { var url = Uri.parse( - Platform.isAndroid ? "market://details?id=$appId" : "https://apps.apple.com/app/id$appId", + "https://apps.apple.com/app/id1468856602", ); launchUrl( url, mode: LaunchMode.externalApplication, ); } + // if (Platform.isAndroid || Platform.isIOS) { + // var appId = Platform.isAndroid ? 'hmg.cloudSolutions.mohem' : '1468856602'; + // var url = Uri.parse( + // Platform.isAndroid ? "market://details?id=$appId" : "https://apps.apple.com/app/id$appId", + // ); + // launchUrl( + // url, + // mode: LaunchMode.externalApplication, + // ); + // } }).paddingAll(24) ], ), diff --git a/lib/ui/login/login_screen.dart b/lib/ui/login/login_screen.dart index 5d83fe9..94724fc 100644 --- a/lib/ui/login/login_screen.dart +++ b/lib/ui/login/login_screen.dart @@ -193,7 +193,18 @@ class _LoginScreenState extends State { } catch (ex) { Utils.hideLoading(context); Utils.handleException(ex, context, (msg) { - Utils.confirmDialog(context, msg); + Utils.confirmDialog( + context, + msg, + onTap: () async { + if (msg.toLowerCase().contains("password has expired")) { + Navigator.pop(context); + await Navigator.pushNamed(context, AppRoutes.newPassword, arguments: username.text); + } else { + Navigator.pop(context); + } + }, + ); }); } } diff --git a/pubspec.yaml b/pubspec.yaml index 9e9c718..e3b15bd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -119,6 +119,8 @@ dependencies: # store_checker: ^1.1.0 google_api_availability: ^3.0.1 + in_app_update: 3.0.0 + #todo its for temporary purpose, later will remove this. dotted_border: ^2.0.0+3