From 61a1baf5335b020d2cc0cfc906457cfeafbea6ff Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Fri, 18 Nov 2022 21:03:51 +0100 Subject: [PATCH] keep status state in thread view after refreshing (#2855) * keep status state in thread view after refreshing * add clarifying parentheses --- .../tusky/components/viewthread/ViewThreadViewModel.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/components/viewthread/ViewThreadViewModel.kt b/app/src/main/java/com/keylesspalace/tusky/components/viewthread/ViewThreadViewModel.kt index c109494c..b4a8a03e 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/viewthread/ViewThreadViewModel.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/viewthread/ViewThreadViewModel.kt @@ -366,11 +366,12 @@ class ViewThreadViewModel @Inject constructor( } private fun Status.toViewData(detailed: Boolean = false): StatusViewData.Concrete { + val oldStatus = (_uiState.value as? ThreadUiState.Success)?.statuses?.find { it.id == this.id } return toViewData( - isShowingContent = alwaysShowSensitiveMedia || !actionableStatus.sensitive, - isExpanded = alwaysOpenSpoiler, - isCollapsed = !detailed, - isDetailed = detailed + isShowingContent = oldStatus?.isShowingContent ?: (alwaysShowSensitiveMedia || !actionableStatus.sensitive), + isExpanded = oldStatus?.isExpanded ?: alwaysOpenSpoiler, + isCollapsed = oldStatus?.isCollapsed ?: !detailed, + isDetailed = oldStatus?.isDetailed ?: detailed ) }