diff options
| author | 2024-09-18 09:54:55 -0700 | |
|---|---|---|
| committer | 2024-09-18 17:01:01 +0000 | |
| commit | 2348ba69237ffad6b55dddf10ef68e27a88a970c (patch) | |
| tree | 0b8504d801d055d1f66599689a7097e09b36d7be | |
| parent | 95b0e20bbe646446e3552661a1482938a26c3a2d (diff) | |
[flexiglass] Fixes bouncer layout on foldables
Fix: 367768125
Test: manually verified that the correct Size is being passed to
WindowSizeClass.calculateFromSize each time I fold or unfold
Flag: com.android.systemui.scene_container
Change-Id: I2c9a018b0af6525c9637178875836852e2e24cfb
| -rw-r--r-- | packages/SystemUI/compose/core/src/com/android/compose/windowsizeclass/WindowSizeClass.kt | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/packages/SystemUI/compose/core/src/com/android/compose/windowsizeclass/WindowSizeClass.kt b/packages/SystemUI/compose/core/src/com/android/compose/windowsizeclass/WindowSizeClass.kt index 7468650e88d3..4674d6e5f25a 100644 --- a/packages/SystemUI/compose/core/src/com/android/compose/windowsizeclass/WindowSizeClass.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/windowsizeclass/WindowSizeClass.kt @@ -16,16 +16,15 @@ package com.android.compose.windowsizeclass -import android.view.WindowManager import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi import androidx.compose.material3.windowsizeclass.WindowSizeClass import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.ui.graphics.toComposeRect import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalDensity +import androidx.window.layout.WindowMetricsCalculator val LocalWindowSizeClass = staticCompositionLocalOf<WindowSizeClass> { @@ -42,9 +41,7 @@ fun calculateWindowSizeClass(): WindowSizeClass { LocalConfiguration.current val density = LocalDensity.current val context = LocalContext.current - val metrics = - remember(context) { context.getSystemService(WindowManager::class.java)!! } - .currentWindowMetrics + val metrics = WindowMetricsCalculator.getOrCreate().computeCurrentWindowMetrics(context) val size = with(density) { metrics.bounds.toComposeRect().size.toDpSize() } return WindowSizeClass.calculateFromSize(size) } |