diff options
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 111362a93495..ecc066be734f 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 a14b46ef7a3d..d56ed02972fb 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<Array<Any>> { 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 99a40daa027f..ff31ba7d2c01 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<Array<Any>> { - 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 7576e24ace19..f054e6412080 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<Array<Any>> { 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 adab5e81b32d..ade65ac8aa63 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<Array<Any>> { 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 4b826ffd646d..f2d58997d1f2 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<Array<Any>> { - 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 62e82212b1d1..1b44377425db 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<Array<Any>> { - 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 eb7bae160577..b1e404e4c8e6 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<String, String> = mapOf(Components.PipActivity.EXTRA_ENTER_PIP to "true") + stringExtras: Map<String, String> = 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 |