|
|
|
@ -1,5 +1,4 @@
|
|
|
|
import 'dart:convert';
|
|
|
|
import 'dart:convert';
|
|
|
|
import 'dart:developer';
|
|
|
|
|
|
|
|
import 'dart:io';
|
|
|
|
import 'dart:io';
|
|
|
|
|
|
|
|
|
|
|
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
|
|
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
|
|
|
@ -7,14 +6,11 @@ import 'package:flutter/material.dart';
|
|
|
|
import 'package:google_api_availability/google_api_availability.dart';
|
|
|
|
import 'package:google_api_availability/google_api_availability.dart';
|
|
|
|
import 'package:huawei_push/huawei_push.dart' as h_push;
|
|
|
|
import 'package:huawei_push/huawei_push.dart' as h_push;
|
|
|
|
import 'package:test_sa/controllers/notification/notification_manger.dart';
|
|
|
|
import 'package:test_sa/controllers/notification/notification_manger.dart';
|
|
|
|
import 'package:test_sa/extensions/widget_extensions.dart';
|
|
|
|
|
|
|
|
import 'package:test_sa/models/all_requests_and_count_model.dart';
|
|
|
|
|
|
|
|
import 'package:test_sa/models/device/device_transfer.dart';
|
|
|
|
import 'package:test_sa/models/device/device_transfer.dart';
|
|
|
|
import 'package:test_sa/models/new_models/gas_refill_model.dart';
|
|
|
|
import 'package:test_sa/models/new_models/gas_refill_model.dart';
|
|
|
|
import 'package:test_sa/modules/cm_module/views/service_request_detail_main_view.dart';
|
|
|
|
import 'package:test_sa/modules/cm_module/views/service_request_detail_main_view.dart';
|
|
|
|
import 'package:test_sa/modules/pm_module/ppm_wo/ppm_details_page.dart';
|
|
|
|
import 'package:test_sa/modules/pm_module/ppm_wo/ppm_details_page.dart';
|
|
|
|
import 'package:test_sa/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart';
|
|
|
|
import 'package:test_sa/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart';
|
|
|
|
import 'package:test_sa/modules/tm_module/tasks_wo/task_request_detail_view.dart';
|
|
|
|
|
|
|
|
import 'package:test_sa/views/pages/device_transfer/device_transfer_details.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/gas_refill/gas_refill_details.dart';
|
|
|
|
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
|
|
|
|
import 'package:test_sa/views/widgets/loaders/no_data_found.dart';
|
|
|
|
@ -73,12 +69,16 @@ class FirebaseNotificationManger {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static Future<bool> isGoogleServicesAvailable() async {
|
|
|
|
static Future<bool> isGoogleServicesAvailable() async {
|
|
|
|
|
|
|
|
try {
|
|
|
|
GooglePlayServicesAvailability availability = await GoogleApiAvailability.instance.checkGooglePlayServicesAvailability();
|
|
|
|
GooglePlayServicesAvailability availability = await GoogleApiAvailability.instance.checkGooglePlayServicesAvailability();
|
|
|
|
String status = availability.toString().split('.').last;
|
|
|
|
String status = availability.toString().split('.').last;
|
|
|
|
if (status == "success") {
|
|
|
|
if (status == "success") {
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
|
|
|
|
} catch (ex) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void handleMessage(context, Map<String, dynamic> messageData) {
|
|
|
|
static void handleMessage(context, Map<String, dynamic> messageData) {
|
|
|
|
@ -149,7 +149,7 @@ class FirebaseNotificationManger {
|
|
|
|
|
|
|
|
|
|
|
|
static initialized(BuildContext context) async {
|
|
|
|
static initialized(BuildContext context) async {
|
|
|
|
//TOD0 add platform check here also
|
|
|
|
//TOD0 add platform check here also
|
|
|
|
if (!(await isGoogleServicesAvailable())) {
|
|
|
|
if (!(await isGoogleServicesAvailable()) && Platform.isAndroid) {
|
|
|
|
var initialNotification = await h_push.Push.getInitialNotification();
|
|
|
|
var initialNotification = await h_push.Push.getInitialNotification();
|
|
|
|
if (initialNotification != null) {
|
|
|
|
if (initialNotification != null) {
|
|
|
|
Map<String, dynamic> remoteData = Map<String, dynamic>.from(initialNotification["extras"] as Map);
|
|
|
|
Map<String, dynamic> remoteData = Map<String, dynamic>.from(initialNotification["extras"] as Map);
|
|
|
|
|