TF-2464 Fix can not auto refresh list email when switch background mode to foreground mode
(cherry picked from commit 34b09c0aeacb8bc42cf7196adca2c65aa7eb47e9)
This commit is contained in:
@@ -28,7 +28,7 @@ class CacheFCMDatasourceImpl extends FCMDatasource {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<jmap.State> getStateToRefresh(AccountId accountId,UserName userName, TypeName typeName) {
|
||||
Future<jmap.State> getStateToRefresh(AccountId accountId, UserName userName, TypeName typeName) {
|
||||
return Future.sync(() async {
|
||||
return await _firebaseCacheManager.getStateToRefresh(accountId, userName, typeName);
|
||||
}).catchError(_exceptionThrower.throwException);
|
||||
|
||||
@@ -22,7 +22,7 @@ class FCMCacheManager {
|
||||
|
||||
Future<jmap.State> getStateToRefresh(AccountId accountId, UserName userName, TypeName typeName) async {
|
||||
final stateKeyCache = TupleKey(typeName.value, accountId.asString, userName.value).encodeKey;
|
||||
final stateValue = await _fcmCacheClient.getItem(stateKeyCache);
|
||||
final stateValue = await _fcmCacheClient.getItem(stateKeyCache, needToReopen: true);
|
||||
if (stateValue != null) {
|
||||
return jmap.State(stateValue);
|
||||
} else {
|
||||
@@ -51,7 +51,7 @@ class FCMCacheManager {
|
||||
}
|
||||
|
||||
Future<FirebaseRegistrationCache> getStoredFirebaseRegistration() async {
|
||||
final firebaseRegistration = await _firebaseRegistrationCacheClient.getItem(FirebaseRegistrationCache.keyCacheValue);
|
||||
final firebaseRegistration = await _firebaseRegistrationCacheClient.getItem(FirebaseRegistrationCache.keyCacheValue, needToReopen: true);
|
||||
if (firebaseRegistration == null) {
|
||||
throw NotFoundFirebaseRegistrationCacheException();
|
||||
} else {
|
||||
@@ -62,11 +62,4 @@ class FCMCacheManager {
|
||||
Future<void> deleteFirebaseRegistration() async {
|
||||
await _firebaseRegistrationCacheClient.deleteItem(FirebaseRegistrationCache.keyCacheValue);
|
||||
}
|
||||
|
||||
Future<void> closeCacheBox() async {
|
||||
await Future.wait([
|
||||
_fcmCacheClient.closeBox(),
|
||||
_firebaseRegistrationCacheClient.closeBox(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,6 @@ import 'package:tmail_ui_user/features/login/domain/state/get_credential_state.d
|
||||
import 'package:tmail_ui_user/features/login/domain/state/get_stored_token_oidc_state.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/usecases/get_authenticated_account_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/bindings/mailbox_dashboard_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/offline_mode/manager/new_email_cache_manager.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/data/local/fcm_cache_manager.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/presentation/action/fcm_action.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/presentation/bindings/fcm_interactor_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/presentation/controller/fcm_base_controller.dart';
|
||||
@@ -51,8 +49,6 @@ class FcmMessageController extends FcmBaseController {
|
||||
DynamicUrlInterceptors? _dynamicUrlInterceptors;
|
||||
AuthorizationInterceptors? _authorizationInterceptors;
|
||||
GetSessionInteractor? _getSessionInteractor;
|
||||
NewEmailCacheManager? _newEmailCacheManager;
|
||||
FCMCacheManager? _fcmCacheManager;
|
||||
|
||||
FcmMessageController._internal();
|
||||
|
||||
@@ -192,13 +188,6 @@ class FcmMessageController extends FcmBaseController {
|
||||
});
|
||||
|
||||
_getInteractorBindings();
|
||||
|
||||
await Future.wait([
|
||||
if (_newEmailCacheManager != null)
|
||||
_newEmailCacheManager!.closeNewEmailHiveCacheBox(),
|
||||
if (_fcmCacheManager != null)
|
||||
_fcmCacheManager!.closeCacheBox(),
|
||||
]);
|
||||
}
|
||||
|
||||
void _getInteractorBindings() {
|
||||
@@ -206,8 +195,6 @@ class FcmMessageController extends FcmBaseController {
|
||||
_dynamicUrlInterceptors = getBinding<DynamicUrlInterceptors>();
|
||||
_authorizationInterceptors = getBinding<AuthorizationInterceptors>();
|
||||
_getSessionInteractor = getBinding<GetSessionInteractor>();
|
||||
_newEmailCacheManager = getBinding<NewEmailCacheManager>();
|
||||
_fcmCacheManager = getBinding<FCMCacheManager>();
|
||||
|
||||
FcmTokenController.instance.initialBindingInteractor();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user