Do not hide navigation rail when performing multi-select in conversation list.

This commit is contained in:
Alex Hart
2025-10-20 11:13:01 -03:00
parent d665856a7c
commit 81e8ebe839
3 changed files with 12 additions and 5 deletions

View File

@@ -321,7 +321,8 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner
}
}
val isNavigationVisible = mainToolbarState.mode == MainToolbarMode.FULL
val isNavigationRailVisible = mainToolbarState.mode != MainToolbarMode.SEARCH
val isNavigationBarVisible = mainToolbarState.mode == MainToolbarMode.FULL
val isBackHandlerEnabled = mainToolbarState.destination != MainNavigationListLocation.CHATS
BackHandler(enabled = isBackHandlerEnabled) {
@@ -430,7 +431,7 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner
paneExpansionState = paneExpansionState,
contentWindowInsets = WindowInsets(),
bottomNavContent = {
if (isNavigationVisible) {
if (isNavigationBarVisible) {
Column(
modifier = Modifier
.clip(contentLayoutData.navigationBarShape)
@@ -448,7 +449,7 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner
}
},
navRailContent = {
if (isNavigationVisible) {
if (isNavigationRailVisible) {
MainNavigationRail(
state = mainNavigationState,
mainFloatingActionButtonsCallback = mainBottomChromeCallback,

View File

@@ -877,6 +877,7 @@ public class ConversationListFragment extends MainFragment implements Conversati
if (conversations.isEmpty()) {
endActionModeIfActive();
} else {
startActionModeIfNotActive();
updateMultiSelectState();
}
})
@@ -1137,6 +1138,12 @@ public class ConversationListFragment extends MainFragment implements Conversati
});
}
private void startActionModeIfNotActive() {
if (!mainToolbarViewModel.isInActionMode()) {
startActionMode();
}
}
private void startActionMode() {
ViewUtil.animateIn(bottomActionBar, bottomActionBar.getEnterAnimation());
requireCallback().onMultiSelectStarted();

View File

@@ -87,9 +87,8 @@ data class MainContentLayoutData(
else -> 13.dp
},
listPaddingStart = when {
!windowSizeClass.isSplitPane() -> 0.dp
windowSizeClass.isExtended() -> 16.dp
else -> 12.dp
else -> 0.dp
},
detailPaddingEnd = when {
!windowSizeClass.isSplitPane() -> 0.dp