diff --git a/lib/main.dart b/lib/main.dart index 7b142608..8abd4ff2 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -119,6 +119,8 @@ class _MyAppState extends ConsumerState { WidgetsBinding.instance.addPostFrameCallback((_) { if (ref.read(clearChapterCacheOnAppLaunchStateProvider)) { + // Watch before calling clearcache to keep it alive, so that _getTotalDiskSpace completes safely + ref.watch(totalChapterCacheSizeStateProvider); ref .read(totalChapterCacheSizeStateProvider.notifier) .clearCache(showToast: false); diff --git a/lib/modules/more/data_and_storage/providers/storage_usage.dart b/lib/modules/more/data_and_storage/providers/storage_usage.dart index 663d5b65..fa8fc1eb 100644 --- a/lib/modules/more/data_and_storage/providers/storage_usage.dart +++ b/lib/modules/more/data_and_storage/providers/storage_usage.dart @@ -14,7 +14,10 @@ part 'storage_usage.g.dart'; class TotalChapterCacheSizeState extends _$TotalChapterCacheSizeState { @override String build() { - _getTotalDiskSpace().then((value) => state = _formatBytes(value)); + _getTotalDiskSpace().then((value) { + if (!ref.mounted) return; + state = _formatBytes(value); + }); return "0.00 B"; }