Added Huawei Checks

merge-requests/171/head
Faiz Hashmi 3 years ago
parent 13822c2534
commit 8439b58759

@ -88,7 +88,7 @@ class AppState {
String get getHuaweiPushToken => _huaweiPushToken;
final PostParamsModel _postParamsInitConfig = PostParamsModel(channel: 31, versionID: 4.3, mobileType: Platform.isAndroid ? "android" : "ios");
final PostParamsModel _postParamsInitConfig = PostParamsModel(channel: 31, versionID: 4.4, mobileType: Platform.isAndroid ? "android" : "ios");
void setPostParamsInitConfig() {
isAuthenticated = false;

@ -4,7 +4,7 @@ import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
// import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
import 'package:huawei_push/huawei_push.dart' as huawei_push;
import 'package:mohem_flutter_app/app_state/app_state.dart';
import 'package:mohem_flutter_app/classes/utils.dart';
@ -19,7 +19,7 @@ class AppNotifications {
factory AppNotifications() => _instance;
late HmsApiAvailability hmsApiAvailability;
// late HmsApiAvailability hmsApiAvailability;
String _huaweiToken = '';
@ -40,9 +40,9 @@ class AppNotifications {
}
void init(String? firebaseToken) async {
if (Platform.isAndroid) {
hmsApiAvailability = HmsApiAvailability();
}
// if (Platform.isAndroid) {
// hmsApiAvailability = HmsApiAvailability();
// }
await requestPermissions();
AppState().setDeviceToken = firebaseToken;
@ -68,9 +68,10 @@ class AppNotifications {
});
if (Platform.isAndroid) {
await hmsApiAvailability.isHMSAvailable().then((value) async {
if (value == 0) {
huawei_push.Push.enableLogger();
// await hmsApiAvailability.isHMSAvailable().then((value) async {
if (await Utils.isAppInstalledFromHuawei() && !(await Utils.isGoogleServicesAvailable()) ) {
huawei_push.Push.enableLogger();
var result = await huawei_push.Push.setAutoInitEnabled(true);
huawei_push.Push.onNotificationOpenedApp.listen((message) {
@ -81,9 +82,9 @@ class AppNotifications {
// newMessage(toFirebaseRemoteMessage(message));
}, onError: (e) => print(e.toString()));
}
}).catchError((err) {
print(err);
});
// }).catchError((err) {
// print(err);
// });
}
}

@ -7,6 +7,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:google_api_availability/google_api_availability.dart';
import 'package:mohem_flutter_app/app_state/app_state.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/config/routes.dart';
@ -20,6 +21,7 @@ import 'package:mohem_flutter_app/widgets/loading_dialog.dart';
import 'package:nfc_manager/nfc_manager.dart';
import 'package:nfc_manager/platform_tags.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:store_checker/store_checker.dart';
// ignore_for_file: avoid_annotating_with_dynamic
@ -226,7 +228,6 @@ class Utils {
return BoxDecoration(
color: background,
border: Border.all(
width: 1, //
color: background // <--- border width here
),
@ -391,4 +392,24 @@ class Utils {
print(err);
});
}
//HUAWEI DECISION MAKING
static Future<bool> isAppInstalledFromHuawei() async {
Source installationSource = await StoreChecker.getSource;
if (installationSource == Source.IS_INSTALLED_FROM_HUAWEI_APP_GALLERY) {
return true;
}
return false;
}
static Future<bool> isGoogleServicesAvailable() async {
GooglePlayServicesAvailability availability = await GoogleApiAvailability.instance.checkGooglePlayServicesAvailability();
String status = availability.toString().split('.').last;
if (status == "success") {
return true;
}
return false;
}
}

@ -5,11 +5,10 @@ import 'package:easy_localization/src/public_ext.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
// import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
import 'package:mohem_flutter_app/api/login_api_client.dart';
import 'package:mohem_flutter_app/app_state/app_state.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
@ -59,12 +58,12 @@ class _LoginScreenState extends State<LoginScreen> {
bool isOnExternalStorage = false;
bool isDevelopmentModeEnable = false;
late HmsApiAvailability hmsApiAvailability;
// late HmsApiAvailability hmsApiAvailability;
@override
void initState() {
super.initState();
hmsApiAvailability = HmsApiAvailability();
// hmsApiAvailability = HmsApiAvailability();
// checkFirebaseToken();
// if (kReleaseMode) {
// checkDeviceSafety();
@ -92,6 +91,9 @@ class _LoginScreenState extends State<LoginScreen> {
super.dispose();
}
String? firebaseToken;
GetMobileLoginInfoListModel? loginInfo;
@ -100,8 +102,8 @@ class _LoginScreenState extends State<LoginScreen> {
Utils.showLoading(context);
if (Platform.isAndroid) {
try {
await hmsApiAvailability.isHMSAvailable().then((value) async {
if (value == 0) {
// await hmsApiAvailability.isHMSAvailable().then((value) async {
if (await Utils.isAppInstalledFromHuawei() && !(await Utils.isGoogleServicesAvailable()) ) {
AppState().setIsHuawei = true;
AppNotifications().initHuaweiPush(checkLoginInfo);
} else {
@ -112,7 +114,7 @@ class _LoginScreenState extends State<LoginScreen> {
checkLoginInfo();
await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
}
});
// });
} catch (ex) {}
} else {
await Firebase.initializeApp();

@ -102,7 +102,7 @@ dependencies:
flutter_layout_grid: ^2.0.1
#Huawei Dependencies
huawei_hmsavailability: ^6.6.0+300
# huawei_hmsavailability: ^6.6.0+300
huawei_location: 6.0.0+302
huawei_push: ^6.7.0+300
firebase_crashlytics: ^2.9.0
@ -110,6 +110,10 @@ dependencies:
#Items for sale Image Carousel Slider
carousel_slider: ^4.2.1
#Huawei Specified
store_checker: ^1.1.0
google_api_availability: ^3.0.1
dependency_overrides:
firebase_core_platform_interface: 4.5.1

Loading…
Cancel
Save