From 6f424ae2d50c10931b9af83ecab283dc32237248 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 28 Aug 2024 12:23:17 +0530 Subject: [PATCH] fix(android): avoid triggering a refresh on saving posts The underlying issue is still not resolved since work on paging has stalled out in Store5, but this trades the bad UX of an unwanted refresh for the slightly less bad UX of the saved state sometimes being stale. Fixes #558 --- .../dev/msfjarvis/claw/android/ui/lists/NetworkPosts.kt | 4 +--- .../kotlin/dev/msfjarvis/claw/common/posts/LobstersCard.kt | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/NetworkPosts.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/NetworkPosts.kt index 3045425e..dbb58222 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/NetworkPosts.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/NetworkPosts.kt @@ -54,9 +54,7 @@ fun NetworkPosts( ReportDrawnWhen { lazyPagingItems.itemCount > 0 } val isRefreshing by remember(lazyPagingItems) { - derivedStateOf { - lazyPagingItems.loadState.refresh == LoadState.Loading && lazyPagingItems.itemCount == 0 - } + derivedStateOf { lazyPagingItems.loadState.refresh == LoadState.Loading } } val pullRefreshState = rememberPullRefreshState(isRefreshing, lazyPagingItems::refresh) Box(modifier = modifier.fillMaxSize().pullRefresh(pullRefreshState)) { diff --git a/common/src/main/kotlin/dev/msfjarvis/claw/common/posts/LobstersCard.kt b/common/src/main/kotlin/dev/msfjarvis/claw/common/posts/LobstersCard.kt index 990ebe62..d9be14bf 100644 --- a/common/src/main/kotlin/dev/msfjarvis/claw/common/posts/LobstersCard.kt +++ b/common/src/main/kotlin/dev/msfjarvis/claw/common/posts/LobstersCard.kt @@ -100,7 +100,6 @@ fun LobstersCard( Modifier.clickable(role = Role.Button) { localSavedState = !localSavedState postActions.toggleSave(post) - refresh() }, ) HorizontalDivider(modifier = Modifier.width(48.dp))