diff --git a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt index 4a8ff1ec95..08f5691b5e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt @@ -340,7 +340,7 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner } val windowSizeClass = WindowSizeClass.rememberWindowSizeClass() - val contentLayoutData = MainContentLayoutData.rememberContentLayoutData() + val contentLayoutData = MainContentLayoutData.rememberContentLayoutData(mainToolbarState.mode) MainContainer { val wrappedNavigator = rememberNavigator(windowSizeClass, contentLayoutData, maxWidth) @@ -349,7 +349,7 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner val anchors = remember(contentLayoutData, mainToolbarState) { val halfPartitionWidth = contentLayoutData.partitionWidth / 2 - val detailOffset = if (mainToolbarState.mode == MainToolbarMode.SEARCH || mainToolbarState.mode == MainToolbarMode.ACTION_MODE) 0.dp else 80.dp + val detailOffset = if (mainToolbarState.mode == MainToolbarMode.SEARCH) 0.dp else 80.dp val detailOnlyAnchor = PaneExpansionAnchor.Offset.fromStart(detailOffset + contentLayoutData.listPaddingStart + halfPartitionWidth) val detailAndListAnchor = PaneExpansionAnchor.Offset.fromStart(listPaneWidth + halfPartitionWidth) val listOnlyAnchor = PaneExpansionAnchor.Offset.fromEnd(contentLayoutData.detailPaddingEnd - halfPartitionWidth) diff --git a/app/src/main/java/org/thoughtcrime/securesms/main/MainContentLayoutData.kt b/app/src/main/java/org/thoughtcrime/securesms/main/MainContentLayoutData.kt index 203c7e6ee4..81a3f0a8e3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/main/MainContentLayoutData.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/main/MainContentLayoutData.kt @@ -63,13 +63,13 @@ data class MainContentLayoutData( companion object { /** - * Uses the WindowSizeClass to build out a MainContentLayoutData. + * Uses the [WindowSizeClass] and [MainToolbarMode] to build out a MainContentLayoutData. */ @Composable - fun rememberContentLayoutData(): MainContentLayoutData { + fun rememberContentLayoutData(mode: MainToolbarMode): MainContentLayoutData { val windowSizeClass = WindowSizeClass.rememberWindowSizeClass() - return remember(windowSizeClass) { + return remember(windowSizeClass, mode) { MainContentLayoutData( shape = when { !windowSizeClass.isSplitPane() -> RectangleShape @@ -86,7 +86,15 @@ data class MainContentLayoutData( windowSizeClass.isExtended() -> 24.dp else -> 13.dp }, - listPaddingStart = 0.dp, + listPaddingStart = when { + !windowSizeClass.isSplitPane() -> 0.dp + else -> { + when (mode) { + MainToolbarMode.SEARCH -> 24.dp + else -> 0.dp + } + } + }, detailPaddingEnd = when { !windowSizeClass.isSplitPane() -> 0.dp windowSizeClass.isExtended() -> 24.dp