TF-1369 Fix [FCM] Unsupported operation Platform
This commit is contained in:
@@ -6,10 +6,10 @@ import 'package:core/presentation/state/success.dart';
|
|||||||
import 'package:core/presentation/utils/app_toast.dart';
|
import 'package:core/presentation/utils/app_toast.dart';
|
||||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||||
import 'package:core/utils/app_logger.dart';
|
import 'package:core/utils/app_logger.dart';
|
||||||
|
import 'package:core/utils/build_utils.dart';
|
||||||
import 'package:core/utils/fps_manager.dart';
|
import 'package:core/utils/fps_manager.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:fcm/model/firebase_capability.dart';
|
import 'package:fcm/model/firebase_capability.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
@@ -165,7 +165,7 @@ abstract class BaseController extends GetxController
|
|||||||
final mapEnvData = Map<String, String>.from(dotenv.env);
|
final mapEnvData = Map<String, String>.from(dotenv.env);
|
||||||
await AppUtils.loadFcmConfigFileToEnv(currentMapEnvData: mapEnvData);
|
await AppUtils.loadFcmConfigFileToEnv(currentMapEnvData: mapEnvData);
|
||||||
FcmConfiguration.initialize();
|
FcmConfiguration.initialize();
|
||||||
if (!kIsWeb) {
|
if (!BuildUtils.isWeb) {
|
||||||
await LocalNotificationManager.instance.setUp();
|
await LocalNotificationManager.instance.setUp();
|
||||||
}
|
}
|
||||||
FcmInteractorBindings().dependencies();
|
FcmInteractorBindings().dependencies();
|
||||||
|
|||||||
+6
-2
@@ -197,7 +197,11 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
_registerPendingFileInfo();
|
_registerPendingFileInfo();
|
||||||
_getSessionCurrent();
|
_getSessionCurrent();
|
||||||
_getAppVersion();
|
_getAppVersion();
|
||||||
_handleOpenAppByNotification();
|
if (!BuildUtils.isWeb) {
|
||||||
|
_handleOpenAppByNotification();
|
||||||
|
} else {
|
||||||
|
dispatchRoute(DashboardRoutes.thread);
|
||||||
|
}
|
||||||
super.onReady();
|
super.onReady();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -370,7 +374,7 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
void _handleOpenAppByNotification() async {
|
void _handleOpenAppByNotification() async {
|
||||||
log("_handleOpenAppByNotification(): isOpenAppByNotification: ${LocalNotificationManager.instance.isOpenAppByNotification}");
|
log("_handleOpenAppByNotification(): isOpenAppByNotification: ${LocalNotificationManager.instance.isOpenAppByNotification}");
|
||||||
await LocalNotificationManager.instance.setUp();
|
await LocalNotificationManager.instance.setUp();
|
||||||
if(LocalNotificationManager.instance.isOpenAppByNotification) {
|
if (LocalNotificationManager.instance.isOpenAppByNotification) {
|
||||||
final emailId = EmailId(Id(LocalNotificationManager.instance.getEmailIdFromNotification()!));
|
final emailId = EmailId(Id(LocalNotificationManager.instance.getEmailIdFromNotification()!));
|
||||||
_getPresentationEmailFromEmailId(emailId);
|
_getPresentationEmailFromEmailId(emailId);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
import 'package:core/presentation/state/failure.dart';
|
import 'package:core/presentation/state/failure.dart';
|
||||||
import 'package:core/presentation/state/success.dart';
|
import 'package:core/presentation/state/success.dart';
|
||||||
import 'package:core/utils/app_logger.dart';
|
import 'package:core/utils/app_logger.dart';
|
||||||
|
import 'package:core/utils/build_utils.dart';
|
||||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
||||||
import 'package:model/email/presentation_email.dart';
|
import 'package:model/email/presentation_email.dart';
|
||||||
@@ -143,12 +144,16 @@ class EmailChangeListener extends ChangeListener {
|
|||||||
if (_newState != null) {
|
if (_newState != null) {
|
||||||
_storeEmailDeliveryStateAction(_newState!);
|
_storeEmailDeliveryStateAction(_newState!);
|
||||||
|
|
||||||
for (var presentationEmail in success.emailList) {
|
if (!BuildUtils.isWeb) {
|
||||||
_showLocalNotification(presentationEmail, _newState!);
|
for (var presentationEmail in success.emailList) {
|
||||||
|
_showLocalNotification(presentationEmail, _newState!);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LocalNotificationManager.instance.groupPushNotification();
|
if (!BuildUtils.isWeb) {
|
||||||
|
LocalNotificationManager.instance.groupPushNotification();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
@@ -38,6 +38,7 @@ class LocalNotificationManager {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
logError('LocalNotificationManager::setUp(): ERROR: ${e.toString()}');
|
logError('LocalNotificationManager::setUp(): ERROR: ${e.toString()}');
|
||||||
}
|
}
|
||||||
|
return Future.value();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool get isOpenAppByNotification => _notificationAppLaunchDetails?.didNotificationLaunchApp ?? false;
|
bool get isOpenAppByNotification => _notificationAppLaunchDetails?.didNotificationLaunchApp ?? false;
|
||||||
@@ -141,6 +142,10 @@ class LocalNotificationManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void groupPushNotification() async {
|
void groupPushNotification() async {
|
||||||
|
if (Platform.isIOS) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final activeNotifications = await _localNotificationsPlugin
|
final activeNotifications = await _localNotificationsPlugin
|
||||||
.resolvePlatformSpecificImplementation<AndroidFlutterLocalNotificationsPlugin>()
|
.resolvePlatformSpecificImplementation<AndroidFlutterLocalNotificationsPlugin>()
|
||||||
?.getActiveNotifications();
|
?.getActiveNotifications();
|
||||||
|
|||||||
Reference in New Issue
Block a user