From 6725114b485bcd5eac8983c6b36cbfddfba93de1 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sat, 2 Mar 2024 12:35:04 -0500 Subject: [PATCH] Avoids changing the showhidden value all the time, triggering recompositions. --- .../java/com/vitorpamplona/amethyst/ui/screen/FeedState.kt | 6 ++++-- .../com/vitorpamplona/amethyst/ui/screen/FeedViewModel.kt | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/FeedState.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/FeedState.kt index ea9d5ac64..4061e144c 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/FeedState.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/FeedState.kt @@ -27,8 +27,10 @@ import kotlinx.collections.immutable.ImmutableList sealed class FeedState { object Loading : FeedState() - class Loaded(val feed: MutableState>, val showHidden: MutableState) : - FeedState() + class Loaded( + val feed: MutableState>, + val showHidden: MutableState, + ) : FeedState() object Empty : FeedState() diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/FeedViewModel.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/FeedViewModel.kt index d2610f923..b11e369ba 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/FeedViewModel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/FeedViewModel.kt @@ -328,7 +328,9 @@ abstract class FeedViewModel(val localFilter: FeedFilter) : _feedContent.update { FeedState.Empty } } else if (currentState is FeedState.Loaded) { // updates the current list - currentState.showHidden.value = localFilter.showHiddenKey() + if (currentState.showHidden.value != localFilter.showHiddenKey()) { + currentState.showHidden.value = localFilter.showHiddenKey() + } currentState.feed.value = notes } else { _feedContent.update {