|
|
|
|
@ -4,17 +4,14 @@ import 'dart:io';
|
|
|
|
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:google_api_availability/google_api_availability.dart';
|
|
|
|
|
import 'package:huawei_push/huawei_push.dart' as h_push;
|
|
|
|
|
import 'package:test_sa/controllers/notification/notification_manger.dart';
|
|
|
|
|
import 'package:test_sa/models/all_requests_and_count_model.dart';
|
|
|
|
|
import 'package:test_sa/models/device/asset_transfer.dart';
|
|
|
|
|
import 'package:test_sa/models/new_models/gas_refill_model.dart';
|
|
|
|
|
import 'package:huawei_push/huawei_push.dart' as h_push;
|
|
|
|
|
import 'package:test_sa/models/service_request/service_request.dart';
|
|
|
|
|
import 'package:test_sa/service_request_latest/views/service_request_detail_main_view.dart';
|
|
|
|
|
import 'package:test_sa/views/pages/device_transfer/device_transfer_details.dart';
|
|
|
|
|
import 'package:test_sa/views/pages/user/gas_refill/gas_refill_details.dart';
|
|
|
|
|
import 'package:test_sa/views/pages/user/ppm/ppm_details_page.dart';
|
|
|
|
|
import 'package:test_sa/views/pages/user/requests/service_request_details.dart';
|
|
|
|
|
|
|
|
|
|
@pragma('vm:entry-point')
|
|
|
|
|
Future<void> firebaseMessagingBackgroundHandler(RemoteMessage message) async {}
|
|
|
|
|
@ -38,7 +35,7 @@ class FirebaseNotificationManger {
|
|
|
|
|
// print("Huawei Token: ${hToken}");
|
|
|
|
|
token = hToken;
|
|
|
|
|
}, onError: (e) {
|
|
|
|
|
print( "Huawei TokenError"+e.toString());
|
|
|
|
|
print("Huawei TokenError" + e.toString());
|
|
|
|
|
});
|
|
|
|
|
h_push.Push.getToken('');
|
|
|
|
|
} else {
|
|
|
|
|
@ -83,7 +80,7 @@ class FirebaseNotificationManger {
|
|
|
|
|
Widget? serviceClass;
|
|
|
|
|
|
|
|
|
|
if (messageData["requestType"] == "Service request to engineer") {
|
|
|
|
|
serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"]??'');
|
|
|
|
|
serviceClass = ServiceRequestDetailMain(requestId: messageData["requestNumber"] ?? '');
|
|
|
|
|
} else if (messageData["requestType"] == "Gas Refill") {
|
|
|
|
|
serviceClass = GasRefillDetailsPage(
|
|
|
|
|
priority: messageData["priority"],
|
|
|
|
|
@ -93,11 +90,7 @@ class FirebaseNotificationManger {
|
|
|
|
|
} else if (messageData["requestType"] == "Asset Transfer") {
|
|
|
|
|
serviceClass = DeviceTransferDetails(model: AssetTransfer(id: int.parse(messageData["requestNumber"].toString())));
|
|
|
|
|
} else if (messageData["requestType"] == "PPM") {
|
|
|
|
|
serviceClass = PpmDetailsPage(
|
|
|
|
|
request: RequestsDetails(
|
|
|
|
|
id: int.parse(messageData["requestNumber"].toString()),
|
|
|
|
|
priority: messageData["priority"],
|
|
|
|
|
));
|
|
|
|
|
serviceClass = PpmDetailsPage(requestId: int.parse(messageData["requestNumber"].toString()));
|
|
|
|
|
}
|
|
|
|
|
// else if (data["requestType"] == "WorkOrder") {
|
|
|
|
|
//
|
|
|
|
|
@ -110,8 +103,7 @@ class FirebaseNotificationManger {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static initialized(BuildContext context) async {
|
|
|
|
|
|
|
|
|
|
//TOD0 add platform check here also
|
|
|
|
|
//TOD0 add platform check here also
|
|
|
|
|
if (!(await isGoogleServicesAvailable())) {
|
|
|
|
|
var initialNotification = await h_push.Push.getInitialNotification();
|
|
|
|
|
if (initialNotification != null) {
|
|
|
|
|
@ -165,8 +157,7 @@ class FirebaseNotificationManger {
|
|
|
|
|
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
|
|
|
|
|
print('notification i got is ${message.toMap()}');
|
|
|
|
|
if (Platform.isAndroid) {
|
|
|
|
|
|
|
|
|
|
if(message.data["notificationType"]!='NurseConfirmArrive'){
|
|
|
|
|
if (message.data["notificationType"] != 'NurseConfirmArrive') {
|
|
|
|
|
NotificationManger.showNotification(
|
|
|
|
|
title: message.notification?.title ?? "", subtext: message.notification?.body ?? "", hashcode: int.tryParse("1234" ?? "") ?? 1, payload: json.encode(message.data), context: context);
|
|
|
|
|
}
|
|
|
|
|
|