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

Commit 278df1b4 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes Ied623fc0,I3ae6e55b into main

* changes:
  Update assumption in Desktop mode scenarios to use DesktopState.
  Create our own Desktop Mode common assertions.
parents c0fa3568 e34d0ece
Loading
Loading
Loading
Loading
+40 −1
Original line number Diff line number Diff line
@@ -21,17 +21,56 @@ import android.tools.flicker.rules.ChangeDisplayOrientationRule

import org.junit.Assume
import org.junit.Before
import org.junit.Test
import org.junit.Rule
import org.junit.rules.TestName
import com.android.server.wm.flicker.entireScreenCovered
import com.android.server.wm.flicker.statusBarLayerIsVisibleAtStartAndEnd
import com.android.server.wm.flicker.statusBarLayerPositionAtStartAndEnd
import com.android.server.wm.flicker.statusBarWindowIsAlwaysVisible
import com.android.server.wm.flicker.taskBarLayerIsVisibleAtStartAndEnd
import com.android.server.wm.flicker.taskBarWindowIsAlwaysVisible

/**
 * The base class that all Desktop Mode Flicker tests should inherit from.
 *
 * This will ensure that all the appropriate methods are called before running the tests.
 */
abstract class DesktopModeBaseTest(flicker: LegacyFlickerTest) : BaseTest(flicker) {
abstract class DesktopModeBaseTest(flicker: LegacyFlickerTest) : BaseBenchmarkTest(flicker) {
    @get:Rule
    val testName = TestName()

    // Override this set with the test method names that you want to exclude from the test
    open val excludedTests: Set<String> = emptySet()

    @Before
    fun setUp() {
        tapl.setExpectedRotation(flicker.scenario.startRotation.value)
        ChangeDisplayOrientationRule.setRotation(flicker.scenario.startRotation)
        Assume.assumeTrue(tapl.isTablet)

        val currentTestMethodName = testName.methodName
        Assume.assumeFalse(
            "Skipping test: $currentTestMethodName as it is in the exclusion list.",
            excludedTests.any { currentTestMethodName.startsWith(it) }
        )
    }

    @Test
    fun entireScreenCovered() = flicker.entireScreenCovered()

    @Test
    fun taskBarLayerIsVisibleAtStartAndEnd() = flicker.taskBarLayerIsVisibleAtStartAndEnd()

    @Test
    fun taskBarWindowIsAlwaysVisible() = flicker.taskBarWindowIsAlwaysVisible()

    @Test
    fun statusBarLayerIsVisibleAtStartAndEnd() = flicker.statusBarLayerIsVisibleAtStartAndEnd()

    @Test
    fun statusBarLayerPositionAtStartAndEnd() = flicker.statusBarLayerPositionAtStartAndEnd()

    @Test
    fun statusBarWindowIsAlwaysVisible() = flicker.statusBarWindowIsAlwaysVisible()
}
 No newline at end of file
+6 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.wm.shell.scenarios
import android.app.Instrumentation
import android.tools.flicker.rules.ChangeDisplayOrientationRule
import android.tools.NavBar
import android.tools.PlatformConsts.DEFAULT_DISPLAY
import android.tools.Rotation
import android.tools.traces.parsers.WindowManagerStateHelper
import androidx.test.platform.app.InstrumentationRegistry
@@ -30,6 +31,7 @@ import com.android.server.wm.flicker.helpers.NewTasksAppHelper
import com.android.server.wm.flicker.helpers.SimpleAppHelper
import com.android.window.flags.Flags
import com.android.wm.shell.Utils
import com.android.wm.shell.shared.desktopmode.DesktopState
import org.junit.After
import org.junit.Assume
import org.junit.Before
@@ -55,7 +57,10 @@ abstract class AltTabSwitchInDesktopMode(

    @Before
    fun setup() {
        Assume.assumeTrue(Flags.enableDesktopWindowingMode() && tapl.isTablet)
        Assume.assumeTrue(
            DesktopState.fromContext(instrumentation.context)
                .isDesktopModeSupportedOnDisplay(DEFAULT_DISPLAY)
        )
        tapl.setEnableRotation(true)
        tapl.setExpectedRotation(rotation.value)
        tapl.enableTransientTaskbar(false)
+6 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.app.Instrumentation
import android.platform.test.annotations.RequiresFlagsEnabled
import android.tools.flicker.rules.ChangeDisplayOrientationRule
import android.tools.NavBar
import android.tools.PlatformConsts.DEFAULT_DISPLAY
import android.tools.Rotation
import android.tools.traces.parsers.WindowManagerStateHelper
import androidx.test.platform.app.InstrumentationRegistry
@@ -30,6 +31,7 @@ import com.android.server.wm.flicker.helpers.MailAppHelper
import com.android.server.wm.flicker.helpers.SimpleAppHelper
import com.android.window.flags.Flags
import com.android.wm.shell.Utils
import com.android.wm.shell.shared.desktopmode.DesktopState
import org.junit.After
import org.junit.Assume
import org.junit.Before
@@ -56,7 +58,10 @@ abstract class AltTabSwitchOutDesktopMode : TestScenarioBase() {

    @Before
    fun setup() {
        Assume.assumeTrue(tapl.isTablet)
        Assume.assumeTrue(
            DesktopState.fromContext(instrumentation.context)
                .isDesktopModeSupportedOnDisplay(DEFAULT_DISPLAY)
        )
        tapl.setEnableRotation(true)
        tapl.setExpectedRotation(rotation.value)
        tapl.enableTransientTaskbar(false)
+6 −1
Original line number Diff line number Diff line
@@ -16,12 +16,14 @@
package com.android.wm.shell.scenarios

import android.tools.NavBar
import android.tools.PlatformConsts.DEFAULT_DISPLAY
import android.tools.Rotation
import android.tools.flicker.rules.ChangeDisplayOrientationRule
import com.android.server.wm.flicker.helpers.DesktopModeAppHelper
import com.android.server.wm.flicker.helpers.MailAppHelper
import com.android.window.flags.Flags
import com.android.wm.shell.Utils
import com.android.wm.shell.shared.desktopmode.DesktopState
import org.junit.After
import org.junit.Assume
import org.junit.Before
@@ -43,7 +45,10 @@ abstract class BringDesktopAppsToFront(

    @Before
    fun setup() {
        Assume.assumeTrue(Flags.enableDesktopWindowingMode() && tapl.isTablet)
        Assume.assumeTrue(
            DesktopState.fromContext(instrumentation.context)
                .isDesktopModeSupportedOnDisplay(DEFAULT_DISPLAY)
        )
        tapl.setEnableRotation(true)
        tapl.setExpectedRotation(rotation.value)
        ChangeDisplayOrientationRule.setRotation(rotation)
+6 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.wm.shell.scenarios

import android.app.Instrumentation
import android.tools.NavBar
import android.tools.PlatformConsts.DEFAULT_DISPLAY
import android.tools.Rotation
import android.tools.device.apphelpers.BrowserAppHelper
import android.tools.device.apphelpers.CalculatorAppHelper
@@ -31,6 +32,7 @@ import com.android.server.wm.flicker.helpers.DesktopModeAppHelper
import com.android.server.wm.flicker.helpers.MailAppHelper
import com.android.window.flags.Flags
import com.android.wm.shell.Utils
import com.android.wm.shell.shared.desktopmode.DesktopState
import org.junit.After
import org.junit.Assume
import org.junit.Before
@@ -57,7 +59,10 @@ abstract class ChromeNewTabAtWindowLimit(val rotation: Rotation = Rotation.ROTAT

    @Before
    fun setup() {
        Assume.assumeTrue(Flags.enableDesktopWindowingMode() && Flags.enableDesktopTaskLimitSeparateTransition() && tapl.isTablet)
        Assume.assumeTrue(
            DesktopState.fromContext(instrumentation.context)
                .isDesktopModeSupportedOnDisplay(DEFAULT_DISPLAY)
        )
        tapl.apply {
            setEnableRotation(true)
            setExpectedRotation(rotation.value)
Loading