diff --git a/lib/features/base/base_controller.dart b/lib/features/base/base_controller.dart index 4fbb329ba..450998d7e 100644 --- a/lib/features/base/base_controller.dart +++ b/lib/features/base/base_controller.dart @@ -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 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(); } diff --git a/lib/main.dart b/lib/main.dart index cde8e98b7..65b44a00f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -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();