From 3df2fa53e8ff371a7b16d476dc071d78228331af Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Fri, 19 Sep 2025 09:37:01 -0300 Subject: [PATCH] Don't exit multiselect mode when swapping screens. --- .../thoughtcrime/securesms/main/MainToolbarViewModel.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/main/MainToolbarViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/main/MainToolbarViewModel.kt index dc20e0a679..c0ed38f613 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/main/MainToolbarViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/main/MainToolbarViewModel.kt @@ -83,7 +83,7 @@ class MainToolbarViewModel : ViewModel() { fun isInActionMode(): Boolean = state.value.mode == MainToolbarMode.ACTION_MODE fun presentToolbarForConversationListFragment() { - setToolbarMode(MainToolbarMode.FULL, destination = MainNavigationListLocation.CHATS, overwriteSearchMode = false) + setToolbarMode(MainToolbarMode.FULL, destination = MainNavigationListLocation.CHATS, overwriteExtraMode = false) } fun presentToolbarForConversationListArchiveFragment() { @@ -113,16 +113,16 @@ class MainToolbarViewModel : ViewModel() { fun setToolbarMode( mode: MainToolbarMode, destination: MainNavigationListLocation? = null, - overwriteSearchMode: Boolean = true + overwriteExtraMode: Boolean = true ) { val previousMode = internalStateFlow.value.mode - val newMode = if (previousMode == MainToolbarMode.SEARCH && !overwriteSearchMode) { + val newMode = if ((previousMode == MainToolbarMode.SEARCH || previousMode == MainToolbarMode.ACTION_MODE) && !overwriteExtraMode) { previousMode } else { mode } - val newSearchQuery = if (previousMode == MainToolbarMode.SEARCH && !overwriteSearchMode) { + val newSearchQuery = if (previousMode == MainToolbarMode.SEARCH && !overwriteExtraMode) { internalStateFlow.value.searchQuery } else { ""