From 3581069c2bdb2d5983a68c859bf767168515d04c Mon Sep 17 00:00:00 2001 From: shenlong <139912620+shenlong-tanwen@users.noreply.github.com> Date: Thu, 7 Dec 2023 18:21:07 +0000 Subject: [PATCH] fix(mobile): do not show loading overlay on grid refresh (#5531) Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> --- .../lib/shared/ui/asset_grid/multiselect_grid.dart | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/mobile/lib/shared/ui/asset_grid/multiselect_grid.dart b/mobile/lib/shared/ui/asset_grid/multiselect_grid.dart index 8c8544740b..2a8923657c 100644 --- a/mobile/lib/shared/ui/asset_grid/multiselect_grid.dart +++ b/mobile/lib/shared/ui/asset_grid/multiselect_grid.dart @@ -354,9 +354,12 @@ class MultiselectGrid extends HookConsumerWidget { } } - Future Function() wrapLongRunningFun(Future Function() fun) => + Future Function() wrapLongRunningFun( + Future Function() fun, { + bool showOverlay = true, + }) => () async { - processing.value = true; + if (showOverlay) processing.value = true; try { final result = await fun(); if (result.runtimeType != bool || result == true) { @@ -364,7 +367,7 @@ class MultiselectGrid extends HookConsumerWidget { } return result; } finally { - processing.value = false; + if (showOverlay) processing.value = false; } }; @@ -383,7 +386,10 @@ class MultiselectGrid extends HookConsumerWidget { selectionActive: selectionEnabledHook.value, onRefresh: onRefresh == null ? null - : wrapLongRunningFun(onRefresh!), + : wrapLongRunningFun( + onRefresh!, + showOverlay: false, + ), topWidget: topWidget, showStack: stackEnabled, ),