From 5871225537b3a0445aedf976b7d19069e60b7bba Mon Sep 17 00:00:00 2001 From: dab246 Date: Tue, 14 Nov 2023 17:20:43 +0700 Subject: [PATCH] TF-2311 Only delete the folder when it exists Signed-off-by: dab246 (cherry picked from commit d3cf489cbc71bfa0c05d0c633136d504d3d9dfdd) --- core/lib/utils/file_utils.dart | 6 ++++-- lib/features/caching/caching_manager.dart | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/core/lib/utils/file_utils.dart b/core/lib/utils/file_utils.dart index f521b68b4..6f2cac4ea 100644 --- a/core/lib/utils/file_utils.dart +++ b/core/lib/utils/file_utils.dart @@ -98,13 +98,15 @@ class FileUtils { return File(internalStorageDirPath).exists(); } - void removeFolder(String folderName) async { + Future removeFolder(String folderName) async { try { String folderPath = (await getApplicationDocumentsDirectory()).absolute.path; folderPath = '$folderPath/$folderName'; log('FileUtils::removeFolder():folderPath: $folderPath'); final dir = Directory(folderPath); - dir.deleteSync(recursive: true); + if (await dir.exists()) { + await dir.delete(recursive: true); + } } catch (e) { logError('FileUtils::removeFolder():EXCEPTION: $e'); } diff --git a/lib/features/caching/caching_manager.dart b/lib/features/caching/caching_manager.dart index 603734a54..3fbbf3e9f 100644 --- a/lib/features/caching/caching_manager.dart +++ b/lib/features/caching/caching_manager.dart @@ -128,10 +128,12 @@ class CachingManager { return await HiveCacheConfig().closeHive(); } - void clearAllFileInStorage() { + Future clearAllFileInStorage() async { if (PlatformInfo.isMobile) { - _fileUtils.removeFolder(CachingConstants.newEmailsContentFolderName); - _fileUtils.removeFolder(CachingConstants.openedEmailContentFolderName); + await Future.wait([ + _fileUtils.removeFolder(CachingConstants.newEmailsContentFolderName), + _fileUtils.removeFolder(CachingConstants.openedEmailContentFolderName), + ]); } }