From 75a53974a4cb702bf2df189d36b2257ba1875a12 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 27 Oct 2025 14:39:17 -0300 Subject: [PATCH] Fix update of windowsizeclass. --- app/src/main/AndroidManifest.xml | 2 +- .../org/thoughtcrime/securesms/MainActivity.kt | 4 ++++ .../thoughtcrime/securesms/window/AppScaffold.kt | 14 ++++++++++---- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f42b55a6b5..88bff81e9c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1045,7 +1045,7 @@ diff --git a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt index 06b097ffa3..bc37f58a38 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt @@ -430,6 +430,10 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner } } + LaunchedEffect(windowSizeClass) { + paneExpansionState.animateTo(detailAndListAnchor) + } + LaunchedEffect(paneExpansionState.currentAnchor, detailOnlyAnchor, listOnlyAnchor, detailAndListAnchor) { val isFullScreenPane = when (paneExpansionState.currentAnchor) { listOnlyAnchor, detailOnlyAnchor -> { diff --git a/app/src/main/java/org/thoughtcrime/securesms/window/AppScaffold.kt b/app/src/main/java/org/thoughtcrime/securesms/window/AppScaffold.kt index 178a2aa33b..3f6ff7a2f1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/window/AppScaffold.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/window/AppScaffold.kt @@ -187,10 +187,16 @@ enum class WindowSizeClass( } Configuration.ORIENTATION_LANDSCAPE -> { - when (windowSizeClass.windowHeightSizeClass) { - WindowHeightSizeClass.COMPACT -> COMPACT_LANDSCAPE - WindowHeightSizeClass.MEDIUM -> MEDIUM_LANDSCAPE - WindowHeightSizeClass.EXPANDED -> EXTENDED_LANDSCAPE + when (windowSizeClass.windowWidthSizeClass) { + WindowWidthSizeClass.COMPACT -> COMPACT_LANDSCAPE + WindowWidthSizeClass.MEDIUM -> { + if (windowSizeClass.windowHeightSizeClass == WindowHeightSizeClass.COMPACT) { + COMPACT_LANDSCAPE + } else { + MEDIUM_LANDSCAPE + } + } + WindowWidthSizeClass.EXPANDED -> EXTENDED_LANDSCAPE else -> error("Unsupported.") } }