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();
_authorizationIsolateInterceptors.clear();
_fcmReceiver.deleteFcmToken();
await _cachingManager.closeHive();
_goToLogin(arguments: LoginArguments(LoginFormType.credentialForm));
}
}
@@ -173,6 +174,7 @@ abstract class ReloadableController extends BaseController {
_authorizationIsolateInterceptors.clear();
_authorizationInterceptors.clear();
_fcmReceiver.deleteFcmToken();
await _cachingManager.closeHive();
_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/push_notification/data/local/fcm_cache_manager.dart';
import 'config/hive_cache_config.dart';
class CachingManager {
final MailboxCacheClient _mailboxCacheClient;
final StateCacheClient _stateCacheClient;
@@ -25,25 +27,14 @@ class CachingManager {
);
Future<void> clearAll() async {
if (kIsWeb) {
await Future.wait([
_stateCacheClient.clearAllData(),
_mailboxCacheClient.clearAllData(),
_emailCacheClient.clearAllData(),
_recentSearchCacheClient.clearAllData(),
_accountCacheClient.clearAllData(),
_fcmCacheManager.clearAllStateToRefresh()
]);
} else {
await Future.wait([
_stateCacheClient.deleteBox(),
_mailboxCacheClient.deleteBox(),
_emailCacheClient.deleteBox(),
_recentSearchCacheClient.deleteBox(),
_accountCacheClient.deleteBox(),
_fcmCacheManager.clearAllStateToRefresh()
]);
}
await Future.wait([
_stateCacheClient.clearAllData(),
_mailboxCacheClient.clearAllData(),
_emailCacheClient.clearAllData(),
_recentSearchCacheClient.clearAllData(),
_accountCacheClient.clearAllData(),
_fcmCacheManager.clearAllStateToRefresh()
]);
}
Future<void> cleanEmailCache() async {
@@ -59,4 +50,8 @@ class CachingManager {
]);
}
}
Future<void> closeHive() async {
return await HiveCacheConfig().closeHive();
}
}