mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-21 02:08:40 +00:00
Fix on-back-pressed issue after navigating to search result.
This commit is contained in:
committed by
Cody Henthorne
parent
b5f444d1cf
commit
d5150d44e3
@@ -325,9 +325,10 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner
|
||||
}
|
||||
|
||||
val isActionModeActive = mainToolbarState.mode == MainToolbarMode.ACTION_MODE
|
||||
val isSearchModeActive = mainToolbarState.mode == MainToolbarMode.SEARCH
|
||||
val isNavigationRailVisible = mainToolbarState.mode != MainToolbarMode.SEARCH
|
||||
val isNavigationBarVisible = mainToolbarState.mode == MainToolbarMode.FULL
|
||||
val isBackHandlerEnabled = mainToolbarState.destination != MainNavigationListLocation.CHATS && !isActionModeActive
|
||||
val isBackHandlerEnabled = mainToolbarState.destination != MainNavigationListLocation.CHATS && !isActionModeActive && !isSearchModeActive
|
||||
|
||||
BackHandler(enabled = isBackHandlerEnabled) {
|
||||
mainNavigationViewModel.setFocusedPane(ThreePaneScaffoldRole.Secondary)
|
||||
@@ -338,6 +339,10 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner
|
||||
toolbarCallback.onCloseActionModeClick()
|
||||
}
|
||||
|
||||
BackHandler(enabled = isSearchModeActive) {
|
||||
toolbarCallback.onCloseSearchClick()
|
||||
}
|
||||
|
||||
val focusManager = LocalFocusManager.current
|
||||
LaunchedEffect(mainToolbarState.mode) {
|
||||
if (mainToolbarState.mode == MainToolbarMode.ACTION_MODE) {
|
||||
@@ -383,21 +388,14 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner
|
||||
|
||||
val (detailOnlyAnchor, detailAndListAnchor, listOnlyAnchor) = anchors
|
||||
|
||||
val initialAnchorIndex = remember {
|
||||
val index = SignalStore.misc.preferredMainActivityAnchorIndex
|
||||
if (index >= 0) index else 1
|
||||
}
|
||||
|
||||
val paneExpansionState = rememberPaneExpansionState(
|
||||
key = wrappedNavigator.scaffoldValue.paneExpansionStateKey,
|
||||
anchors = anchors,
|
||||
initialAnchoredIndex = initialAnchorIndex
|
||||
initialAnchoredIndex = 1
|
||||
)
|
||||
|
||||
val paneAnchorIndex = rememberSaveable(paneExpansionState.currentAnchor) {
|
||||
val index = anchors.indexOf(paneExpansionState.currentAnchor)
|
||||
SignalStore.misc.preferredMainActivityAnchorIndex = index
|
||||
index
|
||||
anchors.indexOf(paneExpansionState.currentAnchor)
|
||||
}
|
||||
|
||||
LaunchedEffect(windowSizeClass) {
|
||||
|
||||
Reference in New Issue
Block a user