TF-2384 Only request push notification permission when FCM available
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit e75ea4b639baaddd838c7a1d42cdbc4b912cd3c6)
This commit is contained in:
@@ -47,6 +47,7 @@ import 'package:tmail_ui_user/features/push_notification/presentation/bindings/f
|
||||
import 'package:tmail_ui_user/features/push_notification/presentation/config/fcm_configuration.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/presentation/controller/fcm_message_controller.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/presentation/controller/fcm_token_controller.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/presentation/notification/local_notification_manager.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/presentation/services/fcm_receiver.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/presentation/services/fcm_service.dart';
|
||||
import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
|
||||
@@ -262,7 +263,7 @@ abstract class BaseController extends GetxController
|
||||
}
|
||||
}
|
||||
|
||||
void injectFCMBindings(Session? session, AccountId? accountId) async {
|
||||
Future<void> injectFCMBindings(Session? session, AccountId? accountId) async {
|
||||
try {
|
||||
requireCapability(session!, accountId!, [FirebaseCapability.fcmIdentifier]);
|
||||
if (AppConfig.fcmAvailable) {
|
||||
@@ -274,6 +275,9 @@ abstract class BaseController extends GetxController
|
||||
FcmMessageController.instance.initialize(accountId: accountId, session: session);
|
||||
FcmTokenController.instance.initialBindingInteractor();
|
||||
await FcmReceiver.instance.onInitialFcmListener();
|
||||
if (PlatformInfo.isMobile) {
|
||||
await LocalNotificationManager.instance.setUp();
|
||||
}
|
||||
} else {
|
||||
throw NotSupportFCMException();
|
||||
}
|
||||
|
||||
+1
-5
@@ -6,7 +6,6 @@ import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:tmail_ui_user/features/caching/config/hive_cache_config.dart';
|
||||
import 'package:tmail_ui_user/features/offline_mode/config/work_manager_config.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/presentation/notification/local_notification_manager.dart';
|
||||
import 'package:tmail_ui_user/main/bindings/main_bindings.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations_delegate.dart';
|
||||
@@ -27,10 +26,7 @@ void main() async {
|
||||
HiveCacheConfig().setUp(),
|
||||
Executor().warmUp(),
|
||||
if (PlatformInfo.isMobile)
|
||||
... [
|
||||
WorkManagerConfig().initialize(),
|
||||
LocalNotificationManager.instance.setUp(),
|
||||
],
|
||||
WorkManagerConfig().initialize(),
|
||||
AppUtils.loadEnvFile()
|
||||
]);
|
||||
await HiveCacheConfig.initializeEncryptionKey();
|
||||
|
||||
Reference in New Issue
Block a user