From 516f4352933f34112458657c584badd7e904a264 Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 18 Jan 2023 16:27:06 +0700 Subject: [PATCH] TF-1400 Fix can't logout when fcm disabled --- .../base/reloadable/reloadable_controller.dart | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/features/base/reloadable/reloadable_controller.dart b/lib/features/base/reloadable/reloadable_controller.dart index 2790dfc02..8c76b03b8 100644 --- a/lib/features/base/reloadable/reloadable_controller.dart +++ b/lib/features/base/reloadable/reloadable_controller.dart @@ -56,6 +56,7 @@ abstract class ReloadableController extends BaseController { GetFCMSubscriptionLocalInteractor? _getSubscriptionLocalInteractor; DestroySubscriptionInteractor? _destroySubscriptionInteractor; + bool _isFcmEnabled = false; ReloadableController( this._logoutOidcInteractor, @@ -178,7 +179,9 @@ abstract class ReloadableController extends BaseController { ]); _authorizationInterceptors.clear(); _authorizationIsolateInterceptors.clear(); - _fcmReceiver.deleteFcmToken(); + if (_isFcmEnabled) { + _fcmReceiver.deleteFcmToken(); + } await _cachingManager.closeHive(); _goToLogin(arguments: LoginArguments(LoginFormType.credentialForm)); } @@ -192,7 +195,9 @@ abstract class ReloadableController extends BaseController { ]); _authorizationIsolateInterceptors.clear(); _authorizationInterceptors.clear(); - _fcmReceiver.deleteFcmToken(); + if (_isFcmEnabled) { + _fcmReceiver.deleteFcmToken(); + } await _cachingManager.closeHive(); _goToLogin(arguments: LoginArguments(LoginFormType.ssoForm)); } @@ -259,8 +264,8 @@ abstract class ReloadableController extends BaseController { } void logout(Session? session, AccountId? accountId) { - final _fcmEnabled = fcmEnabled(session, accountId); - if (_fcmEnabled) { + _isFcmEnabled = fcmEnabled(session, accountId); + if (_isFcmEnabled) { final authenticationType = _authorizationInterceptors.authenticationType; if (authenticationType == AuthenticationType.oidc) { consumeState(_logoutOidcInteractor.execute());