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