|
|
|
|
@ -20,7 +20,7 @@ import 'package:flutter/material.dart';
|
|
|
|
|
// import 'package:flutter_hms_gms_availability/flutter_hms_gms_availability.dart';
|
|
|
|
|
import 'package:flutter_ios_voip_kit/call_state_type.dart';
|
|
|
|
|
import 'package:flutter_ios_voip_kit/flutter_ios_voip_kit.dart';
|
|
|
|
|
import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
|
|
|
|
|
// import 'package:huawei_hmsavailability/huawei_hmsavailability.dart';
|
|
|
|
|
import 'package:huawei_push/huawei_push.dart' as h_push;
|
|
|
|
|
|
|
|
|
|
import 'app_shared_preferences.dart';
|
|
|
|
|
@ -115,7 +115,7 @@ class PushNotificationHandler {
|
|
|
|
|
final BuildContext context;
|
|
|
|
|
static PushNotificationHandler _instance;
|
|
|
|
|
final voIPKit = FlutterIOSVoIPKit.instance;
|
|
|
|
|
HmsApiAvailability hmsApiAvailability;
|
|
|
|
|
// HmsApiAvailability hmsApiAvailability;
|
|
|
|
|
|
|
|
|
|
Timer timeOutTimer;
|
|
|
|
|
bool isTalking = false;
|
|
|
|
|
@ -161,7 +161,7 @@ class PushNotificationHandler {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
init() async {
|
|
|
|
|
hmsApiAvailability = new HmsApiAvailability();
|
|
|
|
|
// hmsApiAvailability = new HmsApiAvailability();
|
|
|
|
|
// VoIP Callbacks
|
|
|
|
|
voIPKit.getVoIPToken().then((value) {
|
|
|
|
|
print('🎈 example: getVoIPToken: $value');
|
|
|
|
|
@ -223,12 +223,12 @@ class PushNotificationHandler {
|
|
|
|
|
|
|
|
|
|
// if (Platform.isAndroid && (!await FlutterHmsGmsAvailability.isHmsAvailable)) {
|
|
|
|
|
if (Platform.isAndroid) {
|
|
|
|
|
await hmsApiAvailability.isHMSAvailable().then((value) async {
|
|
|
|
|
if (value != 0) {
|
|
|
|
|
final fcmToken = await FirebaseMessaging.instance.getToken();
|
|
|
|
|
if (fcmToken != null) onToken(fcmToken);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
// await hmsApiAvailability.isHMSAvailable().then((value) async {
|
|
|
|
|
// if (value != 0) {
|
|
|
|
|
// final fcmToken = await FirebaseMessaging.instance.getToken();
|
|
|
|
|
// if (fcmToken != null) onToken(fcmToken);
|
|
|
|
|
// }
|
|
|
|
|
// }).catchError((err) {});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Platform.isIOS) {
|
|
|
|
|
@ -244,7 +244,6 @@ class PushNotificationHandler {
|
|
|
|
|
// 'Android GMS or iOS' (Handle Firebase Messaging Streams
|
|
|
|
|
|
|
|
|
|
FirebaseMessaging.instance.getInitialMessage().then((RemoteMessage message) async {
|
|
|
|
|
print("Firebase getInitialMessage with message : ${message.data.toString()}");
|
|
|
|
|
subscribeFCMTopic();
|
|
|
|
|
if (Platform.isIOS)
|
|
|
|
|
await Future.delayed(Duration(milliseconds: 3000)).then((value) {
|
|
|
|
|
@ -288,29 +287,29 @@ class PushNotificationHandler {
|
|
|
|
|
FirebaseMessaging.onBackgroundMessage(backgroundMessageHandler);
|
|
|
|
|
|
|
|
|
|
if (Platform.isAndroid) {
|
|
|
|
|
await hmsApiAvailability.isHMSAvailable().then((value) async {
|
|
|
|
|
if (value == 0) {
|
|
|
|
|
h_push.Push.enableLogger();
|
|
|
|
|
final result = await h_push.Push.setAutoInitEnabled(true);
|
|
|
|
|
|
|
|
|
|
h_push.Push.onNotificationOpenedApp.listen((message) {
|
|
|
|
|
newMessage(toFirebaseRemoteMessage(message));
|
|
|
|
|
}, onError: (e) => print(e.toString()));
|
|
|
|
|
|
|
|
|
|
h_push.Push.onMessageReceivedStream.listen((message) {
|
|
|
|
|
newMessage(toFirebaseRemoteMessage(message));
|
|
|
|
|
}, onError: (e) => print(e.toString()));
|
|
|
|
|
|
|
|
|
|
h_push.Push.getTokenStream.listen((token) {
|
|
|
|
|
onToken(token);
|
|
|
|
|
}, onError: (e) => print(e.toString()));
|
|
|
|
|
await h_push.Push.getToken('');
|
|
|
|
|
|
|
|
|
|
h_push.Push.registerBackgroundMessageHandler(backgroundMessageHandler);
|
|
|
|
|
}
|
|
|
|
|
}).catchError((err) {
|
|
|
|
|
print(err);
|
|
|
|
|
});
|
|
|
|
|
// await hmsApiAvailability.isHMSAvailable().then((value) async {
|
|
|
|
|
// if (value == 0) {
|
|
|
|
|
// h_push.Push.enableLogger();
|
|
|
|
|
// final result = await h_push.Push.setAutoInitEnabled(true);
|
|
|
|
|
//
|
|
|
|
|
// h_push.Push.onNotificationOpenedApp.listen((message) {
|
|
|
|
|
// newMessage(toFirebaseRemoteMessage(message));
|
|
|
|
|
// }, onError: (e) => print(e.toString()));
|
|
|
|
|
//
|
|
|
|
|
// h_push.Push.onMessageReceivedStream.listen((message) {
|
|
|
|
|
// newMessage(toFirebaseRemoteMessage(message));
|
|
|
|
|
// }, onError: (e) => print(e.toString()));
|
|
|
|
|
//
|
|
|
|
|
// h_push.Push.getTokenStream.listen((token) {
|
|
|
|
|
// onToken(token);
|
|
|
|
|
// }, onError: (e) => print(e.toString()));
|
|
|
|
|
// await h_push.Push.getToken('');
|
|
|
|
|
//
|
|
|
|
|
// h_push.Push.registerBackgroundMessageHandler(backgroundMessageHandler);
|
|
|
|
|
// }
|
|
|
|
|
// }).catchError((err) {
|
|
|
|
|
// print(err);
|
|
|
|
|
// });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|