From 94a16e376c7217a1fbdc59b56ed03100e5e11025 Mon Sep 17 00:00:00 2001 From: Nataniel Borges Date: Tue, 9 Feb 2021 11:53:38 +0100 Subject: [PATCH] Remove deprecated AutomationUtils methods Those methods were replaced by WindowManagerStateHelper to make the tests more stable. Bug: 172321238 Test: atest FlickerTests WMShellFlickerTests Change-Id: I87d4fb031603eb060551f4800a31fb44851a3cff --- .../wm/shell/flicker/helpers/PipAppHelper.kt | 3 +-- .../wm/shell/flicker/pip/EnterExitPipTest.kt | 7 ++----- .../android/wm/shell/flicker/pip/EnterPipTest.kt | 9 +++------ .../wm/shell/flicker/pip/PipKeyboardTest.kt | 7 ++----- .../wm/shell/flicker/pip/PipRotationTest.kt | 8 ++------ .../android/wm/shell/flicker/pip/PipToAppTest.kt | 7 ++----- .../android/wm/shell/flicker/pip/PipToHomeTest.kt | 7 ++----- .../wm/shell/flicker/pip/PipTransitionBase.kt | 14 ++++++-------- 8 files changed, 20 insertions(+), 42 deletions(-) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/helpers/PipAppHelper.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/helpers/PipAppHelper.kt index 111362a93495a..ecc066be734fc 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/helpers/PipAppHelper.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/helpers/PipAppHelper.kt @@ -24,7 +24,6 @@ import android.os.SystemClock import androidx.test.uiautomator.By import androidx.test.uiautomator.BySelector import com.android.server.wm.flicker.helpers.SYSTEMUI_PACKAGE -import com.android.server.wm.flicker.helpers.closePipWindow import com.android.server.wm.traces.parser.windowmanager.WindowManagerStateHelper import com.android.wm.shell.flicker.pip.tv.closeTvPipWindow import com.android.wm.shell.flicker.pip.tv.isFocusedOrHasFocusedChild @@ -113,7 +112,7 @@ class PipAppHelper(instrumentation: Instrumentation) : BaseAppHelper( if (isTelevision) { uiDevice.closeTvPipWindow() } else { - uiDevice.closePipWindow() + closePipWindow(WindowManagerStateHelper(mInstrumentation)) } } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterExitPipTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterExitPipTest.kt index a14b46ef7a3d7..d56ed02972fb0 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterExitPipTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterExitPipTest.kt @@ -16,13 +16,11 @@ package com.android.wm.shell.flicker.pip -import android.os.Bundle import android.view.Surface import androidx.test.filters.RequiresDevice import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.FlickerTestRunner import com.android.server.wm.flicker.FlickerTestRunnerFactory -import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.WindowUtils import com.android.wm.shell.flicker.helpers.FixedAppHelper import com.android.server.wm.flicker.navBarWindowIsAlwaysVisible @@ -50,8 +48,7 @@ class EnterExitPipTest( @JvmStatic fun getParams(): List> { val testApp = FixedAppHelper(instrumentation) - val baseConfig = getTransitionLaunch(eachRun = true) - val testSpec: FlickerBuilder.(Bundle) -> Unit = { configuration -> + val testSpec = getTransition(eachRun = true) { configuration -> setup { eachRun { testApp.launchViaIntent(wmHelper) @@ -97,7 +94,7 @@ class EnterExitPipTest( } } } - return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation, baseConfig, + return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation, testSpec, supportedRotations = listOf(Surface.ROTATION_0), repetitions = 5) } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterPipTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterPipTest.kt index 99a40daa027f3..ff31ba7d2c01c 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterPipTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterPipTest.kt @@ -16,13 +16,11 @@ package com.android.wm.shell.flicker.pip -import android.os.Bundle import android.view.Surface import androidx.test.filters.RequiresDevice import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.FlickerTestRunner import com.android.server.wm.flicker.FlickerTestRunnerFactory -import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.navBarLayerIsAlwaysVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.statusBarLayerIsAlwaysVisible @@ -50,9 +48,8 @@ class EnterPipTest( @Parameterized.Parameters(name = "{0}") @JvmStatic fun getParams(): List> { - val baseConfig = getTransitionLaunch( - eachRun = true, stringExtras = emptyMap()) - val testSpec: FlickerBuilder.(Bundle) -> Unit = { configuration -> + val testSpec = getTransition(eachRun = true, + stringExtras = emptyMap()) { configuration -> transitions { pipApp.clickEnterPipButton() pipApp.expandPipWindow(wmHelper) @@ -92,7 +89,7 @@ class EnterPipTest( } } - return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation, baseConfig, + return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation, testSpec, supportedRotations = listOf(Surface.ROTATION_0), repetitions = 5) } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipKeyboardTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipKeyboardTest.kt index 7576e24ace192..f054e64120806 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipKeyboardTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipKeyboardTest.kt @@ -16,13 +16,11 @@ package com.android.wm.shell.flicker.pip -import android.os.Bundle import android.view.Surface import androidx.test.filters.RequiresDevice import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.FlickerTestRunner import com.android.server.wm.flicker.FlickerTestRunnerFactory -import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.WindowUtils import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.startRotation @@ -48,8 +46,7 @@ class PipKeyboardTest(testSpec: FlickerTestRunnerFactory.TestSpec) : FlickerTest @JvmStatic fun getParams(): Collection> { val imeApp = ImeAppHelper(instrumentation) - val baseConfig = getTransitionLaunch(eachRun = false) - val testSpec: FlickerBuilder.(Bundle) -> Unit = { configuration -> + val testSpec = getTransition(eachRun = false) { configuration -> setup { test { imeApp.launchViaIntent(wmHelper) @@ -90,7 +87,7 @@ class PipKeyboardTest(testSpec: FlickerTestRunnerFactory.TestSpec) : FlickerTest } return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation, - baseConfig, testSpec, supportedRotations = listOf(Surface.ROTATION_0), + testSpec, supportedRotations = listOf(Surface.ROTATION_0), repetitions = 5) } } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipRotationTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipRotationTest.kt index adab5e81b32db..ade65ac8aa631 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipRotationTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipRotationTest.kt @@ -16,13 +16,11 @@ package com.android.wm.shell.flicker.pip -import android.os.Bundle import android.view.Surface import androidx.test.filters.RequiresDevice import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.FlickerTestRunner import com.android.server.wm.flicker.FlickerTestRunnerFactory -import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.endRotation import com.android.server.wm.flicker.helpers.WindowUtils import com.android.server.wm.flicker.helpers.setRotation @@ -55,8 +53,7 @@ class PipRotationTest( @JvmStatic fun getParams(): Collection> { val fixedApp = FixedAppHelper(instrumentation) - val baseConfig = getTransitionLaunch(eachRun = false) - val testSpec: FlickerBuilder.(Bundle) -> Unit = { configuration -> + val testSpec = getTransition(eachRun = false) { configuration -> setup { test { fixedApp.launchViaIntent(wmHelper) @@ -112,8 +109,7 @@ class PipRotationTest( } return FlickerTestRunnerFactory.getInstance().buildRotationTest(instrumentation, - baseConfig, testSpec, - supportedRotations = listOf(Surface.ROTATION_0, Surface.ROTATION_90), + testSpec, supportedRotations = listOf(Surface.ROTATION_0, Surface.ROTATION_90), repetitions = 5) } } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToAppTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToAppTest.kt index 4b826ffd646d9..f2d58997d1f2d 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToAppTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToAppTest.kt @@ -16,13 +16,11 @@ package com.android.wm.shell.flicker.pip -import android.os.Bundle import android.view.Surface import androidx.test.filters.RequiresDevice import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.FlickerTestRunner import com.android.server.wm.flicker.FlickerTestRunnerFactory -import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.focusChanges import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.navBarLayerIsAlwaysVisible @@ -52,8 +50,7 @@ class PipToAppTest( @Parameterized.Parameters(name = "{0}") @JvmStatic fun getParams(): List> { - val baseConfig = getTransitionLaunch(eachRun = true) - val testSpec: FlickerBuilder.(Bundle) -> Unit = { configuration -> + val testSpec = getTransition(eachRun = true) { configuration -> setup { eachRun { this.setRotation(configuration.startRotation) @@ -110,7 +107,7 @@ class PipToAppTest( } } - return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation, baseConfig, + return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation, testSpec, supportedRotations = listOf(Surface.ROTATION_0), repetitions = 5) } } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToHomeTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToHomeTest.kt index 62e82212b1d1e..1b44377425db0 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToHomeTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToHomeTest.kt @@ -16,13 +16,11 @@ package com.android.wm.shell.flicker.pip -import android.os.Bundle import android.view.Surface import androidx.test.filters.RequiresDevice import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.FlickerTestRunner import com.android.server.wm.flicker.FlickerTestRunnerFactory -import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.focusChanges import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.navBarLayerIsAlwaysVisible @@ -52,8 +50,7 @@ class PipToHomeTest( @Parameterized.Parameters(name = "{0}") @JvmStatic fun getParams(): List> { - val baseConfig = getTransitionLaunch(eachRun = true) - val testSpec: FlickerBuilder.(Bundle) -> Unit = { configuration -> + val testSpec = getTransition(eachRun = true) { configuration -> setup { eachRun { this.setRotation(configuration.startRotation) @@ -111,7 +108,7 @@ class PipToHomeTest( } } - return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation, baseConfig, + return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation, testSpec, supportedRotations = listOf(Surface.ROTATION_0), repetitions = 5) } } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransitionBase.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransitionBase.kt index eb7bae1605773..b1e404e4c8e67 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransitionBase.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransitionBase.kt @@ -22,8 +22,6 @@ import android.os.Bundle import android.view.Surface import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.buildTestTag -import com.android.server.wm.flicker.helpers.closePipWindow -import com.android.server.wm.flicker.helpers.hasPipWindow import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen import com.android.server.wm.flicker.repetitions @@ -83,10 +81,6 @@ abstract class PipTransitionBase(protected val instrumentation: Instrumentation) } test { removeAllTasksButHome() - - if (device.hasPipWindow()) { - device.closePipWindow() - } pipApp.exit() } } @@ -98,11 +92,13 @@ abstract class PipTransitionBase(protected val instrumentation: Instrumentation) * * @param eachRun If the pip app should be launched in each run (otherwise only 1x per test) * @param stringExtras Arguments to pass to the PIP launch intent + * @param extraSpec Addicional segment of flicker specification */ @JvmOverloads - fun getTransitionLaunch( + open fun getTransition( eachRun: Boolean, - stringExtras: Map = mapOf(Components.PipActivity.EXTRA_ENTER_PIP to "true") + stringExtras: Map = mapOf(Components.PipActivity.EXTRA_ENTER_PIP to "true"), + extraSpec: FlickerBuilder.(Bundle) -> Unit = {} ): FlickerBuilder.(Bundle) -> Unit { return { configuration -> setupAndTeardown(this, configuration) @@ -135,6 +131,8 @@ abstract class PipTransitionBase(protected val instrumentation: Instrumentation) removeAllTasksButHome() } } + + extraSpec(this, configuration) } } } \ No newline at end of file