From 897461b5949b9ef43249568f26a8cbf24920007c Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Fri, 12 Sep 2025 09:47:27 -0300 Subject: [PATCH] Expand the detail anchor if we select a conversation while the list is maximized. --- .../org/thoughtcrime/securesms/MainActivity.kt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt index 68d02981bb..9a66eded59 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt @@ -333,15 +333,23 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner val wrappedNavigator = rememberNavigator(windowSizeClass, contentLayoutData, maxWidth) val listPaneWidth = contentLayoutData.rememberDefaultPanePreferredWidth(maxWidth) val halfPartitionWidth = contentLayoutData.partitionWidth / 2 + + val detailOnlyAnchor = PaneExpansionAnchor.Offset.fromStart(72.dp + contentLayoutData.listPaddingStart + halfPartitionWidth) + val detailAndListAnchor = PaneExpansionAnchor.Offset.fromStart(listPaneWidth + halfPartitionWidth) + val listOnlyAnchor = PaneExpansionAnchor.Offset.fromEnd(contentLayoutData.detailPaddingEnd - halfPartitionWidth) + val paneExpansionState = rememberPaneExpansionState( - anchors = listOf( - PaneExpansionAnchor.Offset.fromStart(72.dp + contentLayoutData.listPaddingStart + halfPartitionWidth), - PaneExpansionAnchor.Offset.fromStart(listPaneWidth + halfPartitionWidth), - PaneExpansionAnchor.Offset.fromEnd(contentLayoutData.detailPaddingEnd - halfPartitionWidth) - ) + anchors = listOf(detailOnlyAnchor, detailAndListAnchor, listOnlyAnchor) ) + val mutableInteractionSource = remember { MutableInteractionSource() } + LaunchedEffect(mainNavigationDetailLocation) { + if (paneExpansionState.currentAnchor == listOnlyAnchor) { + paneExpansionState.animateTo(detailOnlyAnchor) + } + } + AppScaffold( navigator = wrappedNavigator, paneExpansionState = paneExpansionState,