TF-1289: Make sure clear data in Hive DB

This commit is contained in:
HuyNguyen
2022-12-29 15:12:07 +07:00
committed by Dat Vu
parent 731018395f
commit 93d7141ba1
2 changed files with 16 additions and 19 deletions
@@ -159,6 +159,7 @@ abstract class ReloadableController extends BaseController {
_authorizationInterceptors.clear(); _authorizationInterceptors.clear();
_authorizationIsolateInterceptors.clear(); _authorizationIsolateInterceptors.clear();
_fcmReceiver.deleteFcmToken(); _fcmReceiver.deleteFcmToken();
await _cachingManager.closeHive();
_goToLogin(arguments: LoginArguments(LoginFormType.credentialForm)); _goToLogin(arguments: LoginArguments(LoginFormType.credentialForm));
} }
} }
@@ -173,6 +174,7 @@ abstract class ReloadableController extends BaseController {
_authorizationIsolateInterceptors.clear(); _authorizationIsolateInterceptors.clear();
_authorizationInterceptors.clear(); _authorizationInterceptors.clear();
_fcmReceiver.deleteFcmToken(); _fcmReceiver.deleteFcmToken();
await _cachingManager.closeHive();
_goToLogin(arguments: LoginArguments(LoginFormType.ssoForm)); _goToLogin(arguments: LoginArguments(LoginFormType.ssoForm));
} }
+14 -19
View File
@@ -7,6 +7,8 @@ import 'package:tmail_ui_user/features/caching/state_cache_client.dart';
import 'package:tmail_ui_user/features/mailbox/data/model/state_type.dart'; import 'package:tmail_ui_user/features/mailbox/data/model/state_type.dart';
import 'package:tmail_ui_user/features/push_notification/data/local/fcm_cache_manager.dart'; import 'package:tmail_ui_user/features/push_notification/data/local/fcm_cache_manager.dart';
import 'config/hive_cache_config.dart';
class CachingManager { class CachingManager {
final MailboxCacheClient _mailboxCacheClient; final MailboxCacheClient _mailboxCacheClient;
final StateCacheClient _stateCacheClient; final StateCacheClient _stateCacheClient;
@@ -25,25 +27,14 @@ class CachingManager {
); );
Future<void> clearAll() async { Future<void> clearAll() async {
if (kIsWeb) { await Future.wait([
await Future.wait([ _stateCacheClient.clearAllData(),
_stateCacheClient.clearAllData(), _mailboxCacheClient.clearAllData(),
_mailboxCacheClient.clearAllData(), _emailCacheClient.clearAllData(),
_emailCacheClient.clearAllData(), _recentSearchCacheClient.clearAllData(),
_recentSearchCacheClient.clearAllData(), _accountCacheClient.clearAllData(),
_accountCacheClient.clearAllData(), _fcmCacheManager.clearAllStateToRefresh()
_fcmCacheManager.clearAllStateToRefresh() ]);
]);
} else {
await Future.wait([
_stateCacheClient.deleteBox(),
_mailboxCacheClient.deleteBox(),
_emailCacheClient.deleteBox(),
_recentSearchCacheClient.deleteBox(),
_accountCacheClient.deleteBox(),
_fcmCacheManager.clearAllStateToRefresh()
]);
}
} }
Future<void> cleanEmailCache() async { Future<void> cleanEmailCache() async {
@@ -59,4 +50,8 @@ class CachingManager {
]); ]);
} }
} }
Future<void> closeHive() async {
return await HiveCacheConfig().closeHive();
}
} }