From 44c17bc7628feaf01be00e166f4ba69c751434da Mon Sep 17 00:00:00 2001 From: dab246 Date: Thu, 21 Aug 2025 17:37:39 +0700 Subject: [PATCH] TF-3964 Upgrade hive database version to 20 Signed-off-by: dab246 --- .../upgrade_hive_database_steps_v20.dart | 20 +++++++++++++++++++ .../caching/config/cache_version.dart | 2 +- .../caching/config/hive_cache_config.dart | 2 ++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 lib/features/base/upgradeable/upgrade_hive_database_steps_v20.dart diff --git a/lib/features/base/upgradeable/upgrade_hive_database_steps_v20.dart b/lib/features/base/upgradeable/upgrade_hive_database_steps_v20.dart new file mode 100644 index 000000000..8f87c351f --- /dev/null +++ b/lib/features/base/upgradeable/upgrade_hive_database_steps_v20.dart @@ -0,0 +1,20 @@ + +import 'package:core/utils/platform_info.dart'; +import 'package:tmail_ui_user/features/base/upgradeable/upgrade_database_steps.dart'; +import 'package:tmail_ui_user/features/caching/caching_manager.dart'; + +class UpgradeHiveDatabaseStepsV20 extends UpgradeDatabaseSteps { + + final CachingManager _cachingManager; + + UpgradeHiveDatabaseStepsV20(this._cachingManager); + + @override + Future onUpgrade(int oldVersion, int newVersion) async { + if (oldVersion > 0 && + oldVersion < newVersion && + newVersion == 20 && PlatformInfo.isMobile) { + await _cachingManager.clearDetailedEmailCache(); + } + } +} \ No newline at end of file diff --git a/lib/features/caching/config/cache_version.dart b/lib/features/caching/config/cache_version.dart index e03d038d6..4baefba51 100644 --- a/lib/features/caching/config/cache_version.dart +++ b/lib/features/caching/config/cache_version.dart @@ -1,4 +1,4 @@ class CacheVersion { - static const int hiveDBVersion = 19; + static const int hiveDBVersion = 20; } \ No newline at end of file diff --git a/lib/features/caching/config/hive_cache_config.dart b/lib/features/caching/config/hive_cache_config.dart index 8a2f53567..1cc49a077 100644 --- a/lib/features/caching/config/hive_cache_config.dart +++ b/lib/features/caching/config/hive_cache_config.dart @@ -16,6 +16,7 @@ import 'package:tmail_ui_user/features/base/upgradeable/upgrade_hive_database_st import 'package:tmail_ui_user/features/base/upgradeable/upgrade_hive_database_steps_v17.dart'; import 'package:tmail_ui_user/features/base/upgradeable/upgrade_hive_database_steps_v18.dart'; import 'package:tmail_ui_user/features/base/upgradeable/upgrade_hive_database_steps_v19.dart'; +import 'package:tmail_ui_user/features/base/upgradeable/upgrade_hive_database_steps_v20.dart'; import 'package:tmail_ui_user/features/base/upgradeable/upgrade_hive_database_steps_v7.dart'; import 'package:tmail_ui_user/features/caching/caching_manager.dart'; import 'package:tmail_ui_user/features/caching/config/cache_version.dart'; @@ -95,6 +96,7 @@ class HiveCacheConfig { await UpgradeHiveDatabaseStepsV17(cachingManager).onUpgrade(oldVersion, newVersion); await UpgradeHiveDatabaseStepsV18(cachingManager).onUpgrade(oldVersion, newVersion); await UpgradeHiveDatabaseStepsV19(cachingManager).onUpgrade(oldVersion, newVersion); + await UpgradeHiveDatabaseStepsV20(cachingManager).onUpgrade(oldVersion, newVersion); if (oldVersion != newVersion) { await cachingManager.storeCacheVersion(newVersion);