In App update implemented

pull/13/head
haroon amjad 2 years ago
parent 5fae260ffa
commit 52d389b268

@ -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<AppUpdateScreen> {
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)
],
),

@ -193,7 +193,18 @@ class _LoginScreenState extends State<LoginScreen> {
} 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);
}
},
);
});
}
}

@ -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

Loading…
Cancel
Save