Don't exit multiselect mode when swapping screens.

This commit is contained in:
Alex Hart
2025-09-19 09:37:01 -03:00
committed by Jeffrey Starke
parent c901639ce8
commit 3df2fa53e8

View File

@@ -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 {
""