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), + ]); } }