summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alejandro Nijamkin <nijamkin@google.com> 2024-09-18 09:54:55 -0700
committer Ale Nijamkin <nijamkin@google.com> 2024-09-18 17:01:01 +0000
commit2348ba69237ffad6b55dddf10ef68e27a88a970c (patch)
tree0b8504d801d055d1f66599689a7097e09b36d7be
parent95b0e20bbe646446e3552661a1482938a26c3a2d (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.kt7
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)
}