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:
dab246
2023-12-24 19:16:18 +07:00
committed by Dat H. Pham
parent 3eee8ef62d
commit 3d5bdd3e17
2 changed files with 6 additions and 6 deletions
+5 -1
View File
@@ -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
View File
@@ -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();