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

Commit ad0be88b authored by Franciszek Juras's avatar Franciszek Juras
Browse files

Adapt BouncerOverlayLayoutTest after replacing WindowSizeClass

ag/35368168 switched from androidx.compose.material3.windowsizeclass
.WindowSizeClass to androidx.window.core.layout.WindowSizeClass.

Adapt BouncerOverlayLayoutTest to new WindowSizeClass

Test: atest BouncerOverlayLayoutTest
Flag: EXEMPT PURE_REFACTOR
Bug: 441954375

Change-Id: I838060690c6a44a7b659711ac958d2ec43ef7b1c
parent 11f98e2a
Loading
Loading
Loading
Loading
+31 −33
Original line number Diff line number Diff line
@@ -17,13 +17,13 @@
package com.android.systemui.bouncer.ui.composable

import androidx.test.filters.SmallTest
import androidx.window.core.layout.WindowSizeClass
import com.android.systemui.SysuiTestCase
import com.android.systemui.bouncer.ui.composable.BouncerOverlayLayout.BELOW_USER_SWITCHER
import com.android.systemui.bouncer.ui.composable.BouncerOverlayLayout.BESIDE_USER_SWITCHER
import com.android.systemui.bouncer.ui.composable.BouncerOverlayLayout.SPLIT_BOUNCER
import com.android.systemui.bouncer.ui.composable.BouncerOverlayLayout.STANDARD_BOUNCER
import com.google.common.truth.Truth.assertThat
import java.util.Locale
import org.junit.Test
import org.junit.runner.RunWith
import platform.test.runner.parameterized.Parameter
@@ -37,50 +37,48 @@ class BouncerOverlayLayoutTest : SysuiTestCase() {
    data object Phone :
        Device(
            name = "phone",
            width = SizeClass.COMPACT,
            height = SizeClass.EXPANDED,
            width = Dimensions.COMPACT_WIDTH_COMPACT_HEIGHT,
            height = Dimensions.EXPANDED_WIDTH_EXPANDED_HEIGHT,
            naturallyHeld = Vertically,
        )

    data object Tablet :
        Device(
            name = "tablet",
            width = SizeClass.EXPANDED,
            height = SizeClass.MEDIUM,
            width = Dimensions.EXPANDED_WIDTH_EXPANDED_HEIGHT,
            height = Dimensions.MEDIUM_WIDTH_MEDIUM_HEIGHT,
            naturallyHeld = Horizontally,
        )

    data object Folded :
        Device(
            name = "folded",
            width = SizeClass.COMPACT,
            height = SizeClass.MEDIUM,
            width = Dimensions.COMPACT_WIDTH_COMPACT_HEIGHT,
            height = Dimensions.MEDIUM_WIDTH_MEDIUM_HEIGHT,
            naturallyHeld = Vertically,
        )

    data object Unfolded :
        Device(
            name = "unfolded",
            width = SizeClass.EXPANDED,
            height = SizeClass.MEDIUM,
            width = Dimensions.EXPANDED_WIDTH_MEDIUM_HEIGHT,
            height = Dimensions.MEDIUM_WIDTH_MEDIUM_HEIGHT,
            naturallyHeld = Vertically,
            widthWhenUnnaturallyHeld = SizeClass.MEDIUM,
            heightWhenUnnaturallyHeld = SizeClass.MEDIUM,
        )

    data object TallerFolded :
        Device(
            name = "taller folded",
            width = SizeClass.COMPACT,
            height = SizeClass.EXPANDED,
            width = Dimensions.COMPACT_WIDTH_COMPACT_HEIGHT,
            height = Dimensions.EXPANDED_WIDTH_EXPANDED_HEIGHT,
            naturallyHeld = Vertically,
        )

    data object TallerUnfolded :
        Device(
            name = "taller unfolded",
            width = SizeClass.EXPANDED,
            height = SizeClass.EXPANDED,
            width = Dimensions.EXPANDED_WIDTH_EXPANDED_HEIGHT,
            height = Dimensions.EXPANDED_WIDTH_EXPANDED_HEIGHT,
            naturallyHeld = Vertically,
        )

@@ -173,8 +171,7 @@ class BouncerOverlayLayoutTest : SysuiTestCase() {
            with(nonNullTestCase) {
                assertThat(
                        calculateLayoutInternal(
                            width = device.width(whenHeld = held),
                            height = device.height(whenHeld = held),
                            windowSizeClass = device.sizeClass(whenHeld = held),
                            isOneHandedModeSupported = isOneHandedModeSupported,
                        )
                    )
@@ -192,8 +189,8 @@ class BouncerOverlayLayoutTest : SysuiTestCase() {
        override fun toString(): String {
            return buildString {
                append(device.name)
                append(" width: ${device.width(held).name.lowercase(Locale.US)}")
                append(" height: ${device.height(held).name.lowercase(Locale.US)}")
                append(" width: ${device.width(held)}.dp")
                append(" height: ${device.height(held)}.dp")
                append(" when held $held")
                if (!isOneHandedModeSupported) {
                    append(" (one-handed-mode not supported)")
@@ -217,27 +214,21 @@ class BouncerOverlayLayoutTest : SysuiTestCase() {

    sealed class Device(
        val name: String,
        private val width: SizeClass,
        private val height: SizeClass,
        private val width: Int,
        private val height: Int,
        val naturallyHeld: Held,
        private val widthWhenUnnaturallyHeld: SizeClass = height,
        private val heightWhenUnnaturallyHeld: SizeClass = width,
    ) {
        fun width(whenHeld: Held): SizeClass {
        fun sizeClass(whenHeld: Held): WindowSizeClass {
            return if (isHeldNaturally(whenHeld)) {
                width
                WindowSizeClass(width, height)
            } else {
                widthWhenUnnaturallyHeld
                WindowSizeClass(height, width)
            }
        }

        fun height(whenHeld: Held): SizeClass {
            return if (isHeldNaturally(whenHeld)) {
                height
            } else {
                heightWhenUnnaturallyHeld
            }
        }
        fun width(whenHeld: Held): Int = if (isHeldNaturally(whenHeld)) width else height

        fun height(whenHeld: Held): Int = if (isHeldNaturally(whenHeld)) height else width

        private fun isHeldNaturally(whenHeld: Held): Boolean {
            return whenHeld == naturallyHeld
@@ -259,4 +250,11 @@ class BouncerOverlayLayoutTest : SysuiTestCase() {
            return Vertically
        }
    }

    object Dimensions {
        const val COMPACT_WIDTH_COMPACT_HEIGHT = WindowSizeClass.HEIGHT_DP_MEDIUM_LOWER_BOUND - 1
        const val MEDIUM_WIDTH_MEDIUM_HEIGHT = WindowSizeClass.WIDTH_DP_MEDIUM_LOWER_BOUND
        const val EXPANDED_WIDTH_MEDIUM_HEIGHT = WindowSizeClass.WIDTH_DP_EXPANDED_LOWER_BOUND
        const val EXPANDED_WIDTH_EXPANDED_HEIGHT = WindowSizeClass.HEIGHT_DP_EXPANDED_LOWER_BOUND
    }
}