Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2348ba69 authored by Alejandro Nijamkin's avatar Alejandro Nijamkin Committed by Ale Nijamkin
Browse files

[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
parent 95b0e20b
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -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)
}