From 759902b2806329dab5f41ed82aa3ef1a9cdb71e1 Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Mon, 17 Feb 2025 15:16:29 +0100 Subject: [PATCH] fix search pull-to-refresh (#4915) Before this, refreshing the status search would show the loading spinner but not actually do something (account and hashtag search worked fine). --- .../tusky/components/search/SearchViewModel.kt | 10 +++++++--- .../search/fragments/SearchStatusesFragment.kt | 5 +++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/components/search/SearchViewModel.kt b/app/src/main/java/com/keylesspalace/tusky/components/search/SearchViewModel.kt index 8c94d6842..004f120dc 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/search/SearchViewModel.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/search/SearchViewModel.kt @@ -60,9 +60,9 @@ class SearchViewModel @Inject constructor( val activeAccount: AccountEntity? get() = accountManager.activeAccount - val mediaPreviewEnabled = activeAccount?.mediaPreviewEnabled ?: false - val alwaysShowSensitiveMedia = activeAccount?.alwaysShowSensitiveMedia ?: false - val alwaysOpenSpoiler = activeAccount?.alwaysOpenSpoiler ?: false + val mediaPreviewEnabled = activeAccount?.mediaPreviewEnabled == true + val alwaysShowSensitiveMedia = activeAccount?.alwaysShowSensitiveMedia == true + val alwaysOpenSpoiler = activeAccount?.alwaysOpenSpoiler == true private val loadedStatuses: MutableList = mutableListOf() @@ -131,6 +131,10 @@ class SearchViewModel @Inject constructor( } } + fun clearStatusCache() { + loadedStatuses.clear() + } + fun expandedChange(statusViewData: StatusViewData.Concrete, expanded: Boolean) { updateStatusViewData(statusViewData.copy(isExpanded = expanded)) } diff --git a/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt index effe20a73..3991dc74a 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt @@ -147,6 +147,11 @@ class SearchStatusesFragment : SearchFragment(), Status return adapter } + override fun onRefresh() { + viewModel.clearStatusCache() + super.onRefresh() + } + override fun onContentHiddenChange(isShowing: Boolean, position: Int) { adapter?.peek(position)?.let { viewModel.contentHiddenChange(it, isShowing)