From 1e3f5473c67de9851093c2b6eaf0bfd889643330 Mon Sep 17 00:00:00 2001 From: Nataniel Borges Date: Tue, 2 Nov 2021 18:54:47 +0100 Subject: [PATCH] Simplify flicker provider logic Makes flicker tests compatible with refactored FlickerTestParameter code Test: atest FlickerTests WMShellFlickerTests Bug: 204894659 Change-Id: I7fc6a950a0d8498727fc37151da8e60fb496b033 --- ...AppPairsTestCannotPairNonResizeableApps.kt | 4 +- ...AppPairsTestPairPrimaryAndSecondaryApps.kt | 4 +- ...ppPairsTestSupportPairNonResizeableApps.kt | 4 +- ...pPairsTestUnpairPrimaryAndSecondaryApps.kt | 4 +- .../flicker/apppairs/AppPairsTransition.kt | 14 ++----- .../RotateTwoLaunchedAppsInAppPairsMode.kt | 11 +++--- ...oLaunchedAppsRotateAndEnterAppPairsMode.kt | 11 +++--- .../RotateTwoLaunchedAppsTransition.kt | 2 +- .../shell/flicker/bubble/BaseBubbleScreen.kt | 15 +++----- .../flicker/bubble/DismissBubbleScreen.kt | 2 +- .../flicker/bubble/ExpandBubbleScreen.kt | 2 +- .../bubble/LaunchBubbleFromLockScreen.kt | 2 +- .../flicker/bubble/LaunchBubbleScreen.kt | 2 +- .../flicker/bubble/MultiBubblesScreen.kt | 2 +- .../EnterSplitScreenDockActivity.kt | 9 ++--- .../EnterSplitScreenFromDetachedRecentTask.kt | 6 +-- .../EnterSplitScreenLaunchToSide.kt | 11 +++--- .../EnterSplitScreenNotSupportNonResizable.kt | 6 +-- .../EnterSplitScreenSupportNonResizable.kt | 6 +-- .../ExitLegacySplitScreenFromBottom.kt | 6 +-- ...imarySplitScreenShowSecondaryFullscreen.kt | 6 +-- ...tScreenFromIntentNotSupportNonResizable.kt | 6 +-- ...plitScreenFromIntentSupportNonResizable.kt | 6 +-- ...tScreenFromRecentNotSupportNonResizable.kt | 6 +-- ...plitScreenFromRecentSupportNonResizable.kt | 6 +-- .../LegacySplitScreenRotateTransition.kt | 2 +- .../LegacySplitScreenToLauncher.kt | 7 ++-- .../LegacySplitScreenTransition.kt | 20 ++++------ .../OpenAppToLegacySplitScreen.kt | 6 +-- .../ResizeLegacySplitScreen.kt | 11 +++--- ...RotateOneLaunchedAppAndEnterSplitScreen.kt | 11 +++--- .../RotateOneLaunchedAppInSplitScreenMode.kt | 11 +++--- ...RotateTwoLaunchedAppAndEnterSplitScreen.kt | 13 +++---- .../RotateTwoLaunchedAppInSplitScreenMode.kt | 15 ++++---- .../wm/shell/flicker/pip/EnterPipTest.kt | 2 +- .../pip/EnterPipToOtherOrientationTest.kt | 6 +-- .../flicker/pip/ExitPipToAppTransition.kt | 2 +- .../wm/shell/flicker/pip/ExitPipTransition.kt | 7 ++-- .../pip/ExitPipViaExpandButtonClickTest.kt | 2 +- .../shell/flicker/pip/ExitPipViaIntentTest.kt | 2 +- .../pip/ExitPipWithDismissButtonTest.kt | 4 +- .../flicker/pip/ExitPipWithSwipeDownTest.kt | 6 +-- .../flicker/pip/ExpandPipOnDoubleClickTest.kt | 2 +- .../pip/MovePipDownShelfHeightChangeTest.kt | 2 +- .../pip/MovePipUpShelfHeightChangeTest.kt | 2 +- .../wm/shell/flicker/pip/PipKeyboardTest.kt | 9 ++--- .../flicker/pip/PipLegacySplitScreenTest.kt | 5 +-- .../wm/shell/flicker/pip/PipRotationTest.kt | 16 ++++---- .../wm/shell/flicker/pip/PipTransition.kt | 24 +++++------- .../SetRequestedOrientationWhilePinnedTest.kt | 6 +-- .../flicker/close/CloseAppBackButtonTest.kt | 4 +- .../flicker/close/CloseAppHomeButtonTest.kt | 4 +- .../wm/flicker/close/CloseAppTransition.kt | 7 ++-- .../ime/CloseImeAutoOpenWindowToAppTest.kt | 3 +- .../ime/CloseImeAutoOpenWindowToHomeTest.kt | 3 +- .../wm/flicker/ime/CloseImeWindowToAppTest.kt | 4 +- .../ime/LaunchAppShowImeOnStartTest.kt | 5 +-- .../wm/flicker/ime/ReOpenImeWindowTest.kt | 5 +-- .../ime/SwitchImeWindowsFromGestureNavTest.kt | 9 ++--- .../launch/ActivitiesTransitionTest.kt | 5 +-- .../wm/flicker/launch/OpenAppColdTest.kt | 7 ++-- .../flicker/launch/OpenAppFromOverviewTest.kt | 7 ++-- .../launch/OpenAppNonResizeableTest.kt | 6 +-- .../wm/flicker/launch/OpenAppTransition.kt | 10 ++--- .../wm/flicker/launch/OpenAppWarmTest.kt | 7 ++-- .../wm/flicker/launch/TaskTransitionTest.kt | 6 +-- .../QuickSwitchBetweenTwoAppsBackTest.kt | 6 +-- .../QuickSwitchBetweenTwoAppsForwardTest.kt | 11 ++---- .../QuickSwitchFromLauncherTest.kt | 3 +- .../flicker/rotation/ChangeAppRotationTest.kt | 4 +- .../wm/flicker/rotation/RotationTransition.kt | 10 ++--- .../rotation/SeamlessAppRotationTest.kt | 37 +++++++++---------- 72 files changed, 219 insertions(+), 290 deletions(-) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestCannotPairNonResizeableApps.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestCannotPairNonResizeableApps.kt index 038be9c190c2c..ecc2d31ab8b88 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestCannotPairNonResizeableApps.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestCannotPairNonResizeableApps.kt @@ -52,9 +52,9 @@ class AppPairsTestCannotPairNonResizeableApps( testSpec: FlickerTestParameter ) : AppPairsTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) transitions { nonResizeableApp?.launchViaIntent(wmHelper) // TODO pair apps through normal UX flow diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestPairPrimaryAndSecondaryApps.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestPairPrimaryAndSecondaryApps.kt index bbc6b2dbece8d..04c82e5f9afb1 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestPairPrimaryAndSecondaryApps.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestPairPrimaryAndSecondaryApps.kt @@ -46,9 +46,9 @@ import org.junit.runners.Parameterized class AppPairsTestPairPrimaryAndSecondaryApps( testSpec: FlickerTestParameter ) : AppPairsTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) transitions { // TODO pair apps through normal UX flow executeShellCommand( diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestSupportPairNonResizeableApps.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestSupportPairNonResizeableApps.kt index bb784a809b7ee..b7d3ba6f737a3 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestSupportPairNonResizeableApps.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestSupportPairNonResizeableApps.kt @@ -52,9 +52,9 @@ class AppPairsTestSupportPairNonResizeableApps( testSpec: FlickerTestParameter ) : AppPairsTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) transitions { nonResizeableApp?.launchViaIntent(wmHelper) // TODO pair apps through normal UX flow diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestUnpairPrimaryAndSecondaryApps.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestUnpairPrimaryAndSecondaryApps.kt index a1a4db112dfdd..f6ce3d4f41c57 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestUnpairPrimaryAndSecondaryApps.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTestUnpairPrimaryAndSecondaryApps.kt @@ -47,9 +47,9 @@ import org.junit.runners.Parameterized class AppPairsTestUnpairPrimaryAndSecondaryApps( testSpec: FlickerTestParameter ) : AppPairsTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) setup { eachRun { executeShellCommand( diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTransition.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTransition.kt index 9e20bbbc1a1bb..863c3aff63a2a 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTransition.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/AppPairsTransition.kt @@ -25,14 +25,11 @@ import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.FlickerBuilderProvider import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.dsl.FlickerBuilder -import com.android.server.wm.flicker.helpers.isRotated import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.repetitions -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible @@ -50,7 +47,6 @@ import org.junit.Test abstract class AppPairsTransition(protected val testSpec: FlickerTestParameter) { protected val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() protected val context: Context = instrumentation.context - protected val isRotated = testSpec.config.startRotation.isRotated() protected val activityHelper = ActivityHelper.getInstance() protected val appPairsHelper = AppPairsHelper(instrumentation, Components.SplitScreenActivity.LABEL, @@ -82,20 +78,18 @@ abstract class AppPairsTransition(protected val testSpec: FlickerTestParameter) @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { - withTestName { testSpec.name } - repeat { testSpec.config.repetitions } - transition(this, testSpec.config) + transition(this) } } - internal open val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> + internal open val transition: FlickerBuilder.() -> Unit + get() = { setup { test { device.wakeUpAndGoToHomeScreen() } eachRun { - this.setRotation(configuration.startRotation) + this.setRotation(testSpec.startRotation) primaryApp.launchViaIntent(wmHelper) secondaryApp.launchViaIntent(wmHelper) nonResizeableApp?.launchViaIntent(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsInAppPairsMode.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsInAppPairsMode.kt index 56a2531a3fe16..13824b864ff12 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsInAppPairsMode.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsInAppPairsMode.kt @@ -25,7 +25,6 @@ import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.annotation.Group1 import com.android.server.wm.flicker.dsl.FlickerBuilder -import com.android.server.wm.flicker.endRotation import com.android.server.wm.flicker.helpers.setRotation import com.android.wm.shell.flicker.appPairsDividerIsVisibleAtEnd import com.android.wm.shell.flicker.appPairsPrimaryBoundsIsVisibleAtEnd @@ -50,14 +49,14 @@ import org.junit.runners.Parameterized class RotateTwoLaunchedAppsInAppPairsMode( testSpec: FlickerTestParameter ) : RotateTwoLaunchedAppsTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) transitions { executeShellCommand(composePairsCommand( primaryTaskId, secondaryTaskId, true /* pair */)) waitAppsShown(primaryApp, secondaryApp) - setRotation(testSpec.config.endRotation) + setRotation(testSpec.endRotation) } } @@ -85,13 +84,13 @@ class RotateTwoLaunchedAppsInAppPairsMode( @Presubmit @Test fun appPairsPrimaryBoundsIsVisibleAtEnd() = - testSpec.appPairsPrimaryBoundsIsVisibleAtEnd(testSpec.config.endRotation, + testSpec.appPairsPrimaryBoundsIsVisibleAtEnd(testSpec.endRotation, primaryApp.component) @FlakyTest @Test fun appPairsSecondaryBoundsIsVisibleAtEnd() = - testSpec.appPairsSecondaryBoundsIsVisibleAtEnd(testSpec.config.endRotation, + testSpec.appPairsSecondaryBoundsIsVisibleAtEnd(testSpec.endRotation, secondaryApp.component) companion object { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsRotateAndEnterAppPairsMode.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsRotateAndEnterAppPairsMode.kt index 0699a4fd05127..c003084e35838 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsRotateAndEnterAppPairsMode.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsRotateAndEnterAppPairsMode.kt @@ -25,7 +25,6 @@ import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.annotation.Group1 import com.android.server.wm.flicker.dsl.FlickerBuilder -import com.android.server.wm.flicker.endRotation import com.android.server.wm.flicker.helpers.setRotation import com.android.wm.shell.flicker.appPairsDividerIsVisibleAtEnd import com.android.wm.shell.flicker.appPairsPrimaryBoundsIsVisibleAtEnd @@ -50,11 +49,11 @@ import org.junit.runners.Parameterized class RotateTwoLaunchedAppsRotateAndEnterAppPairsMode( testSpec: FlickerTestParameter ) : RotateTwoLaunchedAppsTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) transitions { - this.setRotation(testSpec.config.endRotation) + this.setRotation(testSpec.endRotation) executeShellCommand( composePairsCommand(primaryTaskId, secondaryTaskId, pair = true)) waitAppsShown(primaryApp, secondaryApp) @@ -93,13 +92,13 @@ class RotateTwoLaunchedAppsRotateAndEnterAppPairsMode( @FlakyTest(bugId = 172776659) @Test fun appPairsPrimaryBoundsIsVisibleAtEnd() = - testSpec.appPairsPrimaryBoundsIsVisibleAtEnd(testSpec.config.endRotation, + testSpec.appPairsPrimaryBoundsIsVisibleAtEnd(testSpec.endRotation, primaryApp.component) @FlakyTest(bugId = 172776659) @Test fun appPairsSecondaryBoundsIsVisibleAtEnd() = - testSpec.appPairsSecondaryBoundsIsVisibleAtEnd(testSpec.config.endRotation, + testSpec.appPairsSecondaryBoundsIsVisibleAtEnd(testSpec.endRotation, secondaryApp.component) companion object { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsTransition.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsTransition.kt index b95193a172659..670fbd8109079 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsTransition.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/apppairs/RotateTwoLaunchedAppsTransition.kt @@ -34,7 +34,7 @@ abstract class RotateTwoLaunchedAppsTransition( override val nonResizeableApp: SplitScreenHelper? get() = null - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { setup { test { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/BaseBubbleScreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/BaseBubbleScreen.kt index b432bb68fb1b9..99f7e236ee3fe 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/BaseBubbleScreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/BaseBubbleScreen.kt @@ -32,7 +32,6 @@ import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.SYSTEMUI_PACKAGE -import com.android.server.wm.flicker.repetitions import com.android.wm.shell.flicker.helpers.LaunchBubbleHelper import org.junit.runners.Parameterized @@ -51,14 +50,13 @@ abstract class BaseBubbleScreen(protected val testSpec: FlickerTestParameter) { protected val uid = context.packageManager.getApplicationInfo( testApp.component.packageName, 0).uid - protected abstract val transition: FlickerBuilder.(Map) -> Unit + protected abstract val transition: FlickerBuilder.() -> Unit @JvmOverloads protected open fun buildTransition( - extraSpec: FlickerBuilder.(Map) -> Unit = {} - ): FlickerBuilder.(Map) -> Unit { - return { configuration -> - + extraSpec: FlickerBuilder.() -> Unit = {} + ): FlickerBuilder.() -> Unit { + return { setup { test { notifyManager.setBubblesAllowed(testApp.component.packageName, @@ -75,7 +73,7 @@ abstract class BaseBubbleScreen(protected val testSpec: FlickerTestParameter) { testApp.exit() } - extraSpec(this, configuration) + extraSpec(this) } } @@ -87,8 +85,7 @@ abstract class BaseBubbleScreen(protected val testSpec: FlickerTestParameter) { @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { - repeat { testSpec.config.repetitions } - transition(this, testSpec.config) + transition(this) } } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/DismissBubbleScreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/DismissBubbleScreen.kt index 80acd3d3fbe33..1605d80347967 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/DismissBubbleScreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/DismissBubbleScreen.kt @@ -49,7 +49,7 @@ class DismissBubbleScreen(testSpec: FlickerTestParameter) : BaseBubbleScreen(tes private val wm = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager private val displaySize = DisplayMetrics() - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = buildTransition { setup { eachRun { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/ExpandBubbleScreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/ExpandBubbleScreen.kt index 66520d25b47a5..d415aae3ba5f6 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/ExpandBubbleScreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/ExpandBubbleScreen.kt @@ -44,7 +44,7 @@ import org.junit.runners.Parameterized @Group4 class ExpandBubbleScreen(testSpec: FlickerTestParameter) : BaseBubbleScreen(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = buildTransition { setup { test { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/LaunchBubbleFromLockScreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/LaunchBubbleFromLockScreen.kt index 9c172a237bfcc..fd5d640ee97dc 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/LaunchBubbleFromLockScreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/LaunchBubbleFromLockScreen.kt @@ -42,7 +42,7 @@ import org.junit.runners.Parameterized @Group4 class LaunchBubbleFromLockScreen(testSpec: FlickerTestParameter) : BaseBubbleScreen(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = buildTransition { setup { eachRun { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/LaunchBubbleScreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/LaunchBubbleScreen.kt index 97c27c7f67600..a8f17a75dbb35 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/LaunchBubbleScreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/LaunchBubbleScreen.kt @@ -41,7 +41,7 @@ import org.junit.runners.Parameterized @Group4 class LaunchBubbleScreen(testSpec: FlickerTestParameter) : BaseBubbleScreen(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = buildTransition { transitions { val addBubbleBtn = waitAndGetAddBubbleBtn() diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/MultiBubblesScreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/MultiBubblesScreen.kt index d92e0476bce1e..8e5a33ce22362 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/MultiBubblesScreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/bubble/MultiBubblesScreen.kt @@ -43,7 +43,7 @@ import org.junit.runners.Parameterized @Group4 class MultiBubblesScreen(testSpec: FlickerTestParameter) : BaseBubbleScreen(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = buildTransition { setup { test { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenDockActivity.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenDockActivity.kt index bd44d082a1aaa..c86a1229d8d8a 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenDockActivity.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenDockActivity.kt @@ -28,7 +28,6 @@ import com.android.server.wm.flicker.annotation.Group4 import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.launchSplitScreen import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.server.wm.traces.common.FlickerComponentName import com.android.wm.shell.flicker.dockedStackDividerBecomesVisible @@ -53,9 +52,9 @@ import org.junit.runners.Parameterized class EnterSplitScreenDockActivity( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - super.transition(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + super.transition(this) transitions { device.launchSplitScreen(wmHelper) } @@ -69,7 +68,7 @@ class EnterSplitScreenDockActivity( @Presubmit @Test fun dockedStackPrimaryBoundsIsVisibleAtEnd() = - testSpec.dockedStackPrimaryBoundsIsVisibleAtEnd(testSpec.config.startRotation, + testSpec.dockedStackPrimaryBoundsIsVisibleAtEnd(testSpec.startRotation, splitScreenApp.component) @Presubmit diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenFromDetachedRecentTask.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenFromDetachedRecentTask.kt index 625d48b8ab5a7..2f9244be9c18e 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenFromDetachedRecentTask.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenFromDetachedRecentTask.kt @@ -48,9 +48,9 @@ class EnterSplitScreenFromDetachedRecentTask( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - cleanSetup(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + cleanSetup(this) setup { eachRun { splitScreenApp.launchViaIntent(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenLaunchToSide.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenLaunchToSide.kt index 2ed2806af528c..1740c3ec24ca4 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenLaunchToSide.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenLaunchToSide.kt @@ -27,7 +27,6 @@ import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.launchSplitScreen import com.android.server.wm.flicker.helpers.reopenAppFromOverview import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.server.wm.traces.common.FlickerComponentName import com.android.wm.shell.flicker.dockedStackDividerBecomesVisible @@ -52,9 +51,9 @@ import org.junit.runners.Parameterized class EnterSplitScreenLaunchToSide( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - super.transition(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + super.transition(this) transitions { device.launchSplitScreen(wmHelper) device.reopenAppFromOverview(wmHelper) @@ -69,13 +68,13 @@ class EnterSplitScreenLaunchToSide( @Presubmit @Test fun dockedStackPrimaryBoundsIsVisibleAtEnd() = - testSpec.dockedStackPrimaryBoundsIsVisibleAtEnd(testSpec.config.startRotation, + testSpec.dockedStackPrimaryBoundsIsVisibleAtEnd(testSpec.startRotation, splitScreenApp.component) @Presubmit @Test fun dockedStackSecondaryBoundsIsVisibleAtEnd() = - testSpec.dockedStackSecondaryBoundsIsVisibleAtEnd(testSpec.config.startRotation, + testSpec.dockedStackSecondaryBoundsIsVisibleAtEnd(testSpec.startRotation, secondaryApp.component) @Presubmit diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenNotSupportNonResizable.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenNotSupportNonResizable.kt index ee6cf341c9ff5..4c063b918e962 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenNotSupportNonResizable.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenNotSupportNonResizable.kt @@ -55,9 +55,9 @@ class EnterSplitScreenNotSupportNonResizable( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - cleanSetup(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + cleanSetup(this) setup { eachRun { nonResizeableApp.launchViaIntent(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenSupportNonResizable.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenSupportNonResizable.kt index 163b6ffda6e2d..f75dee619564c 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenSupportNonResizable.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/EnterSplitScreenSupportNonResizable.kt @@ -54,9 +54,9 @@ class EnterSplitScreenSupportNonResizable( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - cleanSetup(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + cleanSetup(this) setup { eachRun { nonResizeableApp.launchViaIntent(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ExitLegacySplitScreenFromBottom.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ExitLegacySplitScreenFromBottom.kt index 2b629b0a7eb52..3885155054628 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ExitLegacySplitScreenFromBottom.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ExitLegacySplitScreenFromBottom.kt @@ -50,9 +50,9 @@ import org.junit.runners.Parameterized class ExitLegacySplitScreenFromBottom( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - super.transition(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + super.transition(this) setup { eachRun { splitScreenApp.launchViaIntent(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ExitPrimarySplitScreenShowSecondaryFullscreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ExitPrimarySplitScreenShowSecondaryFullscreen.kt index 95fe3bef4852f..d913a6d85d3dc 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ExitPrimarySplitScreenShowSecondaryFullscreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ExitPrimarySplitScreenShowSecondaryFullscreen.kt @@ -51,9 +51,9 @@ import org.junit.runners.Parameterized class ExitPrimarySplitScreenShowSecondaryFullscreen( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - super.transition(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + super.transition(this) teardown { eachRun { secondaryApp.exit(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromIntentNotSupportNonResizable.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromIntentNotSupportNonResizable.kt index f7d628d48769a..f3ff7b156aaf5 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromIntentNotSupportNonResizable.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromIntentNotSupportNonResizable.kt @@ -53,9 +53,9 @@ class LegacySplitScreenFromIntentNotSupportNonResizable( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - cleanSetup(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + cleanSetup(this) setup { eachRun { splitScreenApp.launchViaIntent(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromIntentSupportNonResizable.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromIntentSupportNonResizable.kt index a5c6571f68dee..42e707ab08507 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromIntentSupportNonResizable.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromIntentSupportNonResizable.kt @@ -53,9 +53,9 @@ class LegacySplitScreenFromIntentSupportNonResizable( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - cleanSetup(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + cleanSetup(this) setup { eachRun { splitScreenApp.launchViaIntent(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromRecentNotSupportNonResizable.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromRecentNotSupportNonResizable.kt index 6f486b0ddfead..079a6efdd31f0 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromRecentNotSupportNonResizable.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromRecentNotSupportNonResizable.kt @@ -55,9 +55,9 @@ class LegacySplitScreenFromRecentNotSupportNonResizable( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - cleanSetup(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + cleanSetup(this) setup { eachRun { nonResizeableApp.launchViaIntent(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromRecentSupportNonResizable.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromRecentSupportNonResizable.kt index f03c927b8d58d..6ac8683ac0548 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromRecentSupportNonResizable.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenFromRecentSupportNonResizable.kt @@ -54,9 +54,9 @@ class LegacySplitScreenFromRecentSupportNonResizable( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - cleanSetup(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + cleanSetup(this) setup { eachRun { nonResizeableApp.launchViaIntent(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenRotateTransition.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenRotateTransition.kt index 1e89a25c06df7..b01f41c9e2ec9 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenRotateTransition.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenRotateTransition.kt @@ -26,7 +26,7 @@ import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen abstract class LegacySplitScreenRotateTransition( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { setup { eachRun { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenToLauncher.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenToLauncher.kt index 2ccd03bf1d6a1..5fe13e002b217 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenToLauncher.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenToLauncher.kt @@ -25,7 +25,6 @@ import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.annotation.Group2 import com.android.server.wm.flicker.dsl.FlickerBuilder -import com.android.server.wm.flicker.endRotation import com.android.server.wm.flicker.entireScreenCovered import com.android.server.wm.flicker.helpers.exitSplitScreen import com.android.server.wm.flicker.helpers.launchSplitScreen @@ -61,8 +60,8 @@ class LegacySplitScreenToLauncher( ) : LegacySplitScreenTransition(testSpec) { private val testApp = SimpleAppHelper(instrumentation) - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> + override val transition: FlickerBuilder.() -> Unit + get() = { setup { test { device.wakeUpAndGoToHomeScreen() @@ -70,7 +69,7 @@ class LegacySplitScreenToLauncher( } eachRun { testApp.launchViaIntent(wmHelper) - this.setRotation(configuration.endRotation) + this.setRotation(testSpec.endRotation) device.launchSplitScreen(wmHelper) device.waitForIdle() } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenTransition.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenTransition.kt index 661c8b69068ec..a4a1f617e4970 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenTransition.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/LegacySplitScreenTransition.kt @@ -25,12 +25,9 @@ import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.FlickerBuilderProvider import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.dsl.FlickerBuilder -import com.android.server.wm.flicker.helpers.isRotated import com.android.server.wm.flicker.helpers.openQuickStepAndClearRecentAppsFromOverview import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen -import com.android.server.wm.flicker.repetitions -import com.android.server.wm.flicker.startRotation import com.android.server.wm.traces.common.FlickerComponentName import com.android.wm.shell.flicker.helpers.BaseAppHelper.Companion.isShellTransitionsEnabled import com.android.wm.shell.flicker.helpers.MultiWindowHelper.Companion.getDevEnableNonResizableMultiWindow @@ -45,7 +42,6 @@ import org.junit.Test abstract class LegacySplitScreenTransition(protected val testSpec: FlickerTestParameter) { protected val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() protected val context: Context = instrumentation.context - protected val isRotated = testSpec.config.startRotation.isRotated() protected val splitScreenApp = SplitScreenHelper.getPrimary(instrumentation) protected val secondaryApp = SplitScreenHelper.getSecondary(instrumentation) protected val nonResizeableApp = SplitScreenHelper.getNonResizeable(instrumentation) @@ -82,15 +78,15 @@ abstract class LegacySplitScreenTransition(protected val testSpec: FlickerTestPa FlickerComponentName.SPLASH_SCREEN, FlickerComponentName.SNAPSHOT) - protected open val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> + protected open val transition: FlickerBuilder.() -> Unit + get() = { setup { eachRun { device.wakeUpAndGoToHomeScreen() device.openQuickStepAndClearRecentAppsFromOverview(wmHelper) secondaryApp.launchViaIntent(wmHelper) splitScreenApp.launchViaIntent(wmHelper) - this.setRotation(configuration.startRotation) + this.setRotation(testSpec.startRotation) } } teardown { @@ -105,19 +101,17 @@ abstract class LegacySplitScreenTransition(protected val testSpec: FlickerTestPa @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { - withTestName { testSpec.name } - repeat { testSpec.config.repetitions } - transition(this, testSpec.config) + transition(this) } } - internal open val cleanSetup: FlickerBuilder.(Map) -> Unit - get() = { configuration -> + internal open val cleanSetup: FlickerBuilder.() -> Unit + get() = { setup { eachRun { device.wakeUpAndGoToHomeScreen() device.openQuickStepAndClearRecentAppsFromOverview(wmHelper) - this.setRotation(configuration.startRotation) + this.setRotation(testSpec.startRotation) } } teardown { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/OpenAppToLegacySplitScreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/OpenAppToLegacySplitScreen.kt index 34eff80a04bc1..087b21c544c53 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/OpenAppToLegacySplitScreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/OpenAppToLegacySplitScreen.kt @@ -49,9 +49,9 @@ import org.junit.runners.Parameterized class OpenAppToLegacySplitScreen( testSpec: FlickerTestParameter ) : LegacySplitScreenTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - super.transition(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + super.transition(this) transitions { device.launchSplitScreen(wmHelper) wmHelper.waitForAppTransitionIdle() diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ResizeLegacySplitScreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ResizeLegacySplitScreen.kt index 58e1def6f37a6..a238bc2ed6955 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ResizeLegacySplitScreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/ResizeLegacySplitScreen.kt @@ -37,7 +37,6 @@ import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible @@ -69,12 +68,12 @@ class ResizeLegacySplitScreen( private val testAppTop = SimpleAppHelper(instrumentation) private val testAppBottom = ImeAppHelper(instrumentation) - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> + override val transition: FlickerBuilder.() -> Unit + get() = { setup { eachRun { device.wakeUpAndGoToHomeScreen() - this.setRotation(configuration.startRotation) + this.setRotation(testSpec.startRotation) this.launcherStrategy.clearRecentAppsFromOverview() testAppBottom.launchViaIntent(wmHelper) device.pressHome() @@ -220,8 +219,8 @@ class ResizeLegacySplitScreen( .map { val description = (startRatio.toString().replace("/", "-") + "_to_" + stopRatio.toString().replace("/", "-")) - val newName = "${FlickerTestParameter.defaultName(it.config)}_$description" - FlickerTestParameter(it.config, name = newName) + val newName = "${FlickerTestParameter.defaultName(it)}_$description" + FlickerTestParameter(it.config, nameOverride = newName) } } } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateOneLaunchedAppAndEnterSplitScreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateOneLaunchedAppAndEnterSplitScreen.kt index 8a50bc0b20cf0..50cd5487d9cd0 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateOneLaunchedAppAndEnterSplitScreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateOneLaunchedAppAndEnterSplitScreen.kt @@ -29,7 +29,6 @@ import com.android.server.wm.flicker.helpers.launchSplitScreen import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.wm.shell.flicker.dockedStackDividerIsVisibleAtEnd @@ -53,12 +52,12 @@ import org.junit.runners.Parameterized class RotateOneLaunchedAppAndEnterSplitScreen( testSpec: FlickerTestParameter ) : LegacySplitScreenRotateTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - super.transition(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + super.transition(this) transitions { device.launchSplitScreen(wmHelper) - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) } } @@ -69,7 +68,7 @@ class RotateOneLaunchedAppAndEnterSplitScreen( @Presubmit @Test fun dockedStackPrimaryBoundsIsVisibleAtEnd() = - testSpec.dockedStackPrimaryBoundsIsVisibleAtEnd(testSpec.config.startRotation, + testSpec.dockedStackPrimaryBoundsIsVisibleAtEnd(testSpec.startRotation, splitScreenApp.component) @Presubmit diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateOneLaunchedAppInSplitScreenMode.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateOneLaunchedAppInSplitScreenMode.kt index 84676a9186be4..8d5222585e383 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateOneLaunchedAppInSplitScreenMode.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateOneLaunchedAppInSplitScreenMode.kt @@ -29,7 +29,6 @@ import com.android.server.wm.flicker.helpers.launchSplitScreen import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.wm.shell.flicker.dockedStackDividerIsVisibleAtEnd @@ -53,11 +52,11 @@ import org.junit.runners.Parameterized class RotateOneLaunchedAppInSplitScreenMode( testSpec: FlickerTestParameter ) : LegacySplitScreenRotateTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - super.transition(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + super.transition(this) transitions { - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) device.launchSplitScreen(wmHelper) } } @@ -69,7 +68,7 @@ class RotateOneLaunchedAppInSplitScreenMode( @Presubmit @Test fun dockedStackPrimaryBoundsIsVisibleAtEnd() = testSpec.dockedStackPrimaryBoundsIsVisibleAtEnd( - testSpec.config.startRotation, splitScreenApp.component) + testSpec.startRotation, splitScreenApp.component) @Presubmit @Test diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateTwoLaunchedAppAndEnterSplitScreen.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateTwoLaunchedAppAndEnterSplitScreen.kt index 2abdca9216f92..070f6361dc231 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateTwoLaunchedAppAndEnterSplitScreen.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateTwoLaunchedAppAndEnterSplitScreen.kt @@ -29,7 +29,6 @@ import com.android.server.wm.flicker.helpers.reopenAppFromOverview import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.wm.shell.flicker.dockedStackDividerIsVisibleAtEnd @@ -54,11 +53,11 @@ import org.junit.runners.Parameterized class RotateTwoLaunchedAppAndEnterSplitScreen( testSpec: FlickerTestParameter ) : LegacySplitScreenRotateTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - super.transition(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + super.transition(this) transitions { - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) device.launchSplitScreen(wmHelper) device.reopenAppFromOverview(wmHelper) } @@ -71,13 +70,13 @@ class RotateTwoLaunchedAppAndEnterSplitScreen( @Presubmit @Test fun dockedStackPrimaryBoundsIsVisibleAtEnd() = - testSpec.dockedStackPrimaryBoundsIsVisibleAtEnd(testSpec.config.startRotation, + testSpec.dockedStackPrimaryBoundsIsVisibleAtEnd(testSpec.startRotation, splitScreenApp.component) @Presubmit @Test fun dockedStackSecondaryBoundsIsVisibleAtEnd() = - testSpec.dockedStackSecondaryBoundsIsVisibleAtEnd(testSpec.config.startRotation, + testSpec.dockedStackSecondaryBoundsIsVisibleAtEnd(testSpec.startRotation, secondaryApp.component) @Presubmit diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateTwoLaunchedAppInSplitScreenMode.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateTwoLaunchedAppInSplitScreenMode.kt index fe9b9f5140157..fabbd260c9e7b 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateTwoLaunchedAppInSplitScreenMode.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/legacysplitscreen/RotateTwoLaunchedAppInSplitScreenMode.kt @@ -30,7 +30,6 @@ import com.android.server.wm.flicker.helpers.reopenAppFromOverview import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.wm.shell.flicker.dockedStackDividerIsVisibleAtEnd @@ -55,18 +54,18 @@ import org.junit.runners.Parameterized class RotateTwoLaunchedAppInSplitScreenMode( testSpec: FlickerTestParameter ) : LegacySplitScreenRotateTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - super.transition(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + super.transition(this) setup { eachRun { device.launchSplitScreen(wmHelper) device.reopenAppFromOverview(wmHelper) - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) } } transitions { - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) } } @@ -77,13 +76,13 @@ class RotateTwoLaunchedAppInSplitScreenMode( @Presubmit @Test fun dockedStackPrimaryBoundsIsVisibleAtEnd() = - testSpec.dockedStackPrimaryBoundsIsVisibleAtEnd(testSpec.config.startRotation, + testSpec.dockedStackPrimaryBoundsIsVisibleAtEnd(testSpec.startRotation, splitScreenApp.component) @Presubmit @Test fun dockedStackSecondaryBoundsIsVisibleAtEnd() = - testSpec.dockedStackSecondaryBoundsIsVisibleAtEnd(testSpec.config.startRotation, + testSpec.dockedStackSecondaryBoundsIsVisibleAtEnd(testSpec.startRotation, secondaryApp.component) @Presubmit 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 52a744f3897d8..33626d04addb5 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 @@ -58,7 +58,7 @@ class EnterPipTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) { /** * Defines the transition used to run the test */ - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = buildTransition(eachRun = true, stringExtras = emptyMap()) { transitions { pipApp.clickEnterPipButton(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterPipToOtherOrientationTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterPipToOtherOrientationTest.kt index c8c3f4d64294d..791505baee729 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterPipToOtherOrientationTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterPipToOtherOrientationTest.kt @@ -74,9 +74,9 @@ class EnterPipToOtherOrientationTest( /** * Defines the transition used to run the test */ - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - setupAndTeardown(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + setupAndTeardown(this) setup { eachRun { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipToAppTransition.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipToAppTransition.kt index 64b7eb53bd6f3..82674424bba05 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipToAppTransition.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipToAppTransition.kt @@ -102,7 +102,7 @@ abstract class ExitPipToAppTransition(testSpec: FlickerTestParameter) : PipTrans } /** - * Checks that the visible region of [pipApp] covers the full display area at the end of + * Checks that the visible region oft [pipApp] covers the full display area at the end of * the transition */ @Presubmit diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipTransition.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipTransition.kt index 5207fed592086..6c9fed9dc19b5 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipTransition.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipTransition.kt @@ -23,18 +23,17 @@ import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.LAUNCHER_COMPONENT import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.setRotation -import com.android.server.wm.flicker.startRotation import org.junit.Test /** * Base class for exiting pip (closing pip window) without returning to the app */ abstract class ExitPipTransition(testSpec: FlickerTestParameter) : PipTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = buildTransition(eachRun = true) { configuration -> + override val transition: FlickerBuilder.() -> Unit + get() = buildTransition(eachRun = true) { setup { eachRun { - this.setRotation(configuration.startRotation) + this.setRotation(testSpec.startRotation) } } teardown { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipViaExpandButtonClickTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipViaExpandButtonClickTest.kt index b53342d6f2f79..5f29dbc2d269e 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipViaExpandButtonClickTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipViaExpandButtonClickTest.kt @@ -59,7 +59,7 @@ class ExitPipViaExpandButtonClickTest( /** * Defines the transition used to run the test */ - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = buildTransition(eachRun = true) { setup { eachRun { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipViaIntentTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipViaIntentTest.kt index 1fec3cf852144..00ccf26bacbe2 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipViaIntentTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipViaIntentTest.kt @@ -56,7 +56,7 @@ class ExitPipViaIntentTest(testSpec: FlickerTestParameter) : ExitPipToAppTransit /** * Defines the transition used to run the test */ - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = buildTransition(eachRun = true) { setup { eachRun { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipWithDismissButtonTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipWithDismissButtonTest.kt index 73626c23065a0..b0b11e936d96a 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipWithDismissButtonTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipWithDismissButtonTest.kt @@ -52,9 +52,9 @@ import org.junit.runners.Parameterized @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Group3 class ExitPipWithDismissButtonTest(testSpec: FlickerTestParameter) : ExitPipTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) transitions { pipApp.closePipWindow(wmHelper) } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipWithSwipeDownTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipWithSwipeDownTest.kt index 9e43deef8d994..f4eb70122a4da 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipWithSwipeDownTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExitPipWithSwipeDownTest.kt @@ -55,9 +55,9 @@ import org.junit.runners.Parameterized @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Group3 class ExitPipWithSwipeDownTest(testSpec: FlickerTestParameter) : ExitPipTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit - get() = { args -> - super.transition(this, args) + override val transition: FlickerBuilder.() -> Unit + get() = { + super.transition(this) transitions { val pipRegion = wmHelper.getWindowRegion(pipApp.component).bounds val pipCenterX = pipRegion.centerX() diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExpandPipOnDoubleClickTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExpandPipOnDoubleClickTest.kt index d0fee9a820933..f196764295c2d 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExpandPipOnDoubleClickTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/ExpandPipOnDoubleClickTest.kt @@ -55,7 +55,7 @@ import org.junit.runners.Parameterized @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Group3 class ExpandPipOnDoubleClickTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = buildTransition(eachRun = true) { transitions { pipApp.doubleClickPipWindow(wmHelper) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/MovePipDownShelfHeightChangeTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/MovePipDownShelfHeightChangeTest.kt index 0ab857d755ee1..d9685f3718fa1 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/MovePipDownShelfHeightChangeTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/MovePipDownShelfHeightChangeTest.kt @@ -59,7 +59,7 @@ class MovePipDownShelfHeightChangeTest( /** * Defines the transition used to run the test */ - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = buildTransition(eachRun = false) { teardown { eachRun { diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/MovePipUpShelfHeightChangeTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/MovePipUpShelfHeightChangeTest.kt index e507edfda48c3..c6b42ea86078f 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/MovePipUpShelfHeightChangeTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/MovePipUpShelfHeightChangeTest.kt @@ -59,7 +59,7 @@ class MovePipUpShelfHeightChangeTest( /** * Defines the transition used to run the test */ - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = buildTransition(eachRun = false) { teardown { eachRun { 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 aba8aced298fd..45cbdc8fb1fc8 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 @@ -26,7 +26,6 @@ import com.android.server.wm.flicker.annotation.Group4 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 import com.android.server.wm.traces.common.FlickerComponentName import com.android.wm.shell.flicker.helpers.ImeAppHelper import org.junit.FixMethodOrder @@ -47,12 +46,12 @@ import org.junit.runners.Parameterized class PipKeyboardTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) { private val imeApp = ImeAppHelper(instrumentation) - override val transition: FlickerBuilder.(Map) -> Unit - get() = buildTransition(eachRun = false) { configuration -> + override val transition: FlickerBuilder.() -> Unit + get() = buildTransition(eachRun = false) { setup { test { imeApp.launchViaIntent(wmHelper) - setRotation(configuration.startRotation) + setRotation(testSpec.startRotation) } } teardown { @@ -78,7 +77,7 @@ class PipKeyboardTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) @Test fun pipInVisibleBounds() { testSpec.assertWm { - val displayBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation) + val displayBounds = WindowUtils.getDisplayBounds(testSpec.startRotation) coversAtMost(displayBounds, pipApp.component) } } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipLegacySplitScreenTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipLegacySplitScreenTest.kt index 9bea5c03dadbd..3e3ea167bd42c 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipLegacySplitScreenTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipLegacySplitScreenTest.kt @@ -27,7 +27,6 @@ import com.android.server.wm.flicker.annotation.Group4 import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.launchSplitScreen import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen -import com.android.server.wm.flicker.repetitions import com.android.server.wm.flicker.rules.RemoveAllTasksButHomeRule.Companion.removeAllTasksButHome import com.android.wm.shell.flicker.helpers.BaseAppHelper.Companion.isShellTransitionsEnabled import com.android.wm.shell.flicker.helpers.FixedAppHelper @@ -64,10 +63,8 @@ class PipLegacySplitScreenTest(testSpec: FlickerTestParameter) : PipTransition(t assumeFalse(isShellTransitionsEnabled()) } - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - withTestName { testSpec.name } - repeat { testSpec.config.repetitions } setup { test { removeAllTasksButHome() 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 669f37ad1e728..af984b3cb1010 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 @@ -25,12 +25,10 @@ import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.annotation.Group4 import com.android.server.wm.flicker.dsl.FlickerBuilder -import com.android.server.wm.flicker.endRotation import com.android.server.wm.flicker.entireScreenCovered import com.android.server.wm.flicker.helpers.WindowUtils import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.navBarLayerRotatesAndScales -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.wm.shell.flicker.helpers.FixedAppHelper import org.junit.FixMethodOrder @@ -47,7 +45,7 @@ import org.junit.runners.Parameterized * Actions: * Launch a [pipApp] in pip mode * Launch another app [fixedApp] (appears below pip) - * Rotate the screen from [testSpec.config.startRotation] to [testSpec.config.endRotation] + * Rotate the screen from [testSpec.startRotation] to [testSpec.endRotation] * (usually, 0->90 and 90->0) * * Notes: @@ -65,21 +63,21 @@ import org.junit.runners.Parameterized @Group4 class PipRotationTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) { private val fixedApp = FixedAppHelper(instrumentation) - private val screenBoundsStart = WindowUtils.getDisplayBounds(testSpec.config.startRotation) - private val screenBoundsEnd = WindowUtils.getDisplayBounds(testSpec.config.endRotation) + private val screenBoundsStart = WindowUtils.getDisplayBounds(testSpec.startRotation) + private val screenBoundsEnd = WindowUtils.getDisplayBounds(testSpec.endRotation) - override val transition: FlickerBuilder.(Map) -> Unit - get() = buildTransition(eachRun = false) { configuration -> + override val transition: FlickerBuilder.() -> Unit + get() = buildTransition(eachRun = false) { setup { test { fixedApp.launchViaIntent(wmHelper) } eachRun { - setRotation(configuration.startRotation) + setRotation(testSpec.startRotation) } } transitions { - setRotation(configuration.endRotation) + setRotation(testSpec.endRotation) } } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransition.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransition.kt index e8a61e8a1daef..93a4e1be3bb7f 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransition.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransition.kt @@ -26,15 +26,12 @@ import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.entireScreenCovered import com.android.server.wm.flicker.helpers.WindowUtils -import com.android.server.wm.flicker.helpers.isRotated import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.repetitions import com.android.server.wm.flicker.rules.RemoveAllTasksButHomeRule.Companion.removeAllTasksButHome -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible @@ -44,11 +41,10 @@ import org.junit.Test abstract class PipTransition(protected val testSpec: FlickerTestParameter) { protected val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() - protected val isRotated = testSpec.config.startRotation.isRotated() protected val pipApp = PipAppHelper(instrumentation) - protected val displayBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation) + protected val displayBounds = WindowUtils.getDisplayBounds(testSpec.startRotation) protected val broadcastActionTrigger = BroadcastActionTrigger(instrumentation) - protected abstract val transition: FlickerBuilder.(Map) -> Unit + protected abstract val transition: FlickerBuilder.() -> Unit // Helper class to process test actions by broadcast. protected class BroadcastActionTrigger(private val instrumentation: Instrumentation) { private fun createIntentWithAction(broadcastAction: String): Intent { @@ -81,16 +77,14 @@ abstract class PipTransition(protected val testSpec: FlickerTestParameter) { @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { - withTestName { testSpec.name } - repeat { testSpec.config.repetitions } - transition(this, testSpec.config) + transition(this) } } /** * Gets a configuration that handles basic setup and teardown of pip tests */ - protected val setupAndTeardown: FlickerBuilder.(Map) -> Unit + protected val setupAndTeardown: FlickerBuilder.() -> Unit get() = { setup { test { @@ -121,10 +115,10 @@ abstract class PipTransition(protected val testSpec: FlickerTestParameter) { protected open fun buildTransition( eachRun: Boolean, stringExtras: Map = mapOf(Components.PipActivity.EXTRA_ENTER_PIP to "true"), - extraSpec: FlickerBuilder.(Map) -> Unit = {} - ): FlickerBuilder.(Map) -> Unit { - return { configuration -> - setupAndTeardown(this, configuration) + extraSpec: FlickerBuilder.() -> Unit = {} + ): FlickerBuilder.() -> Unit { + return { + setupAndTeardown(this) setup { test { @@ -155,7 +149,7 @@ abstract class PipTransition(protected val testSpec: FlickerTestParameter) { } } - extraSpec(this, configuration) + extraSpec(this) } } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/SetRequestedOrientationWhilePinnedTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/SetRequestedOrientationWhilePinnedTest.kt index d6dbc366aec0c..f8e2d3871514b 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/SetRequestedOrientationWhilePinnedTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/SetRequestedOrientationWhilePinnedTest.kt @@ -50,9 +50,9 @@ class SetRequestedOrientationWhilePinnedTest( private val startingBounds = WindowUtils.getDisplayBounds(Surface.ROTATION_0) private val endingBounds = WindowUtils.getDisplayBounds(Surface.ROTATION_90) - override val transition: FlickerBuilder.(Map) -> Unit - get() = { configuration -> - setupAndTeardown(this, configuration) + override val transition: FlickerBuilder.() -> Unit + get() = { + setupAndTeardown(this) setup { eachRun { diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt index 9f26c31a6d63c..209d1aaaabde8 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt @@ -65,9 +65,9 @@ import org.junit.runners.Parameterized @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Group4 class CloseAppBackButtonTest(testSpec: FlickerTestParameter) : CloseAppTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) transitions { device.pressBack() wmHelper.waitForHomeActivityVisible() diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt index 795766fccfbd6..ac557cf7a4d3f 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt @@ -64,9 +64,9 @@ import org.junit.runners.Parameterized @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Group4 class CloseAppHomeButtonTest(testSpec: FlickerTestParameter) : CloseAppTransition(testSpec) { - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) transitions { device.pressHome() wmHelper.waitForHomeActivityVisible() diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppTransition.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppTransition.kt index 339a5bda08a93..8a2ddf1a243d7 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppTransition.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppTransition.kt @@ -32,7 +32,6 @@ import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible import com.android.server.wm.flicker.entireScreenCovered -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible @@ -54,11 +53,11 @@ abstract class CloseAppTransition(protected val testSpec: FlickerTestParameter) /** * Specification of the test transition to execute */ - protected open val transition: FlickerBuilder.(Map) -> Unit = { + protected open val transition: FlickerBuilder.() -> Unit = { setup { eachRun { testApp.launchViaIntent(wmHelper) - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) } } teardown { @@ -75,7 +74,7 @@ abstract class CloseAppTransition(protected val testSpec: FlickerTestParameter) @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { - transition(testSpec.config) + transition() } } diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeAutoOpenWindowToAppTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeAutoOpenWindowToAppTest.kt index 5e21aff947694..c7dfbf82eac1f 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeAutoOpenWindowToAppTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeAutoOpenWindowToAppTest.kt @@ -33,7 +33,6 @@ import com.android.server.wm.flicker.helpers.ImeAppAutoFocusHelper import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible @@ -63,7 +62,7 @@ import org.junit.runners.Parameterized @Group2 class CloseImeAutoOpenWindowToAppTest(private val testSpec: FlickerTestParameter) { private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() - private val testApp = ImeAppAutoFocusHelper(instrumentation, testSpec.config.startRotation) + private val testApp = ImeAppAutoFocusHelper(instrumentation, testSpec.startRotation) @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeAutoOpenWindowToHomeTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeAutoOpenWindowToHomeTest.kt index 0582685f2c54c..5315da1d06167 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeAutoOpenWindowToHomeTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeAutoOpenWindowToHomeTest.kt @@ -34,7 +34,6 @@ import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible import com.android.server.wm.flicker.entireScreenCovered -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible @@ -64,7 +63,7 @@ import org.junit.runners.Parameterized @Group2 class CloseImeAutoOpenWindowToHomeTest(private val testSpec: FlickerTestParameter) { private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() - private val testApp = ImeAppAutoFocusHelper(instrumentation, testSpec.config.startRotation) + private val testApp = ImeAppAutoFocusHelper(instrumentation, testSpec.startRotation) @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeWindowToAppTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeWindowToAppTest.kt index 91b3d3dae3cd0..d063b6922ab34 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeWindowToAppTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/CloseImeWindowToAppTest.kt @@ -119,14 +119,14 @@ class CloseImeWindowToAppTest(private val testSpec: FlickerTestParameter) { @Presubmit @Test fun navBarLayerRotatesAndScales() { - Assume.assumeFalse(testSpec.isRotated) + Assume.assumeFalse(testSpec.isLandscapeOrSeascapeAtStart) testSpec.navBarLayerRotatesAndScales() } @FlakyTest @Test fun navBarLayerRotatesAndScales_Flaky() { - Assume.assumeTrue(testSpec.isRotated) + Assume.assumeTrue(testSpec.isLandscapeOrSeascapeAtStart) testSpec.navBarLayerRotatesAndScales() } diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/LaunchAppShowImeOnStartTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/LaunchAppShowImeOnStartTest.kt index a9568b325af2e..005c4f59de50f 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/LaunchAppShowImeOnStartTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/LaunchAppShowImeOnStartTest.kt @@ -29,7 +29,6 @@ import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.ImeAppAutoFocusHelper import com.android.server.wm.flicker.helpers.setRotation -import com.android.server.wm.flicker.startRotation import com.android.server.wm.traces.common.FlickerComponentName import org.junit.FixMethodOrder import org.junit.Test @@ -71,14 +70,14 @@ import org.junit.runners.Parameterized @FixMethodOrder(MethodSorters.NAME_ASCENDING) class LaunchAppShowImeOnStartTest(private val testSpec: FlickerTestParameter) { private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() - private val testApp = ImeAppAutoFocusHelper(instrumentation, testSpec.config.startRotation) + private val testApp = ImeAppAutoFocusHelper(instrumentation, testSpec.startRotation) @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { setup { eachRun { - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) } } teardown { diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/ReOpenImeWindowTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/ReOpenImeWindowTest.kt index f6febe9e22347..5d8a382d8c926 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/ReOpenImeWindowTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/ReOpenImeWindowTest.kt @@ -37,7 +37,6 @@ import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.entireScreenCovered -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible @@ -60,7 +59,7 @@ import org.junit.runners.Parameterized @Group2 class ReOpenImeWindowTest(private val testSpec: FlickerTestParameter) { private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() - private val testApp = ImeAppAutoFocusHelper(instrumentation, testSpec.config.startRotation) + private val testApp = ImeAppAutoFocusHelper(instrumentation, testSpec.startRotation) private val isShellTransitionsEnabled = SystemProperties.getBoolean("persist.debug.shell_transit", false) @@ -76,7 +75,7 @@ class ReOpenImeWindowTest(private val testSpec: FlickerTestParameter) { device.pressRecentApps() wmHelper.waitImeGone() wmHelper.waitForAppTransitionIdle() - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) } } transitions { diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/SwitchImeWindowsFromGestureNavTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/SwitchImeWindowsFromGestureNavTest.kt index 4c506b0fea4d6..56ec80cd5caaa 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/SwitchImeWindowsFromGestureNavTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/SwitchImeWindowsFromGestureNavTest.kt @@ -33,7 +33,6 @@ import com.android.server.wm.flicker.helpers.SimpleAppHelper import com.android.server.wm.flicker.helpers.WindowUtils import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.server.wm.traces.common.FlickerComponentName @@ -56,14 +55,14 @@ import org.junit.runners.Parameterized class SwitchImeWindowsFromGestureNavTest(private val testSpec: FlickerTestParameter) { private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() private val testApp = SimpleAppHelper(instrumentation) - private val imeTestApp = ImeAppAutoFocusHelper(instrumentation, testSpec.config.startRotation) + private val imeTestApp = ImeAppAutoFocusHelper(instrumentation, testSpec.startRotation) @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { setup { eachRun { - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) testApp.launchViaIntent(wmHelper) wmHelper.waitForFullScreenApp(testApp.component) wmHelper.waitForAppTransitionIdle() @@ -86,7 +85,7 @@ class SwitchImeWindowsFromGestureNavTest(private val testSpec: FlickerTestParame transitions { // [Step1]: Swipe right from imeTestApp to testApp task createTag(TAG_IME_VISIBLE) - val displayBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation) + val displayBounds = WindowUtils.getDisplayBounds(testSpec.startRotation) device.swipe(0, displayBounds.bounds.height(), displayBounds.bounds.width(), displayBounds.bounds.height(), 50) @@ -96,7 +95,7 @@ class SwitchImeWindowsFromGestureNavTest(private val testSpec: FlickerTestParame } transitions { // [Step2]: Swipe left to back to imeTestApp task - val displayBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation) + val displayBounds = WindowUtils.getDisplayBounds(testSpec.startRotation) device.swipe(displayBounds.bounds.width(), displayBounds.bounds.height(), 0, displayBounds.bounds.height(), 50) wmHelper.waitForFullScreenApp(imeTestApp.component) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/ActivitiesTransitionTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/ActivitiesTransitionTest.kt index f74a7718461f3..648353e34f922 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/ActivitiesTransitionTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/ActivitiesTransitionTest.kt @@ -26,7 +26,6 @@ import com.android.server.wm.flicker.FlickerParametersRunnerFactory import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.LAUNCHER_COMPONENT -import com.android.server.wm.flicker.repetitions import com.android.server.wm.flicker.annotation.Group4 import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.TwoActivitiesAppHelper @@ -60,7 +59,7 @@ import org.junit.runners.Parameterized @FixMethodOrder(MethodSorters.NAME_ASCENDING) @Group4 class ActivitiesTransitionTest(val testSpec: FlickerTestParameter) { - val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() + private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() private val testApp: TwoActivitiesAppHelper = TwoActivitiesAppHelper(instrumentation) /** @@ -70,8 +69,6 @@ class ActivitiesTransitionTest(val testSpec: FlickerTestParameter) { @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { - withTestName { testSpec.name } - repeat { testSpec.config.repetitions } setup { eachRun { testApp.launchViaIntent(wmHelper) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt index 2f5a3891eb84f..c4fec7fb5142e 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt @@ -24,7 +24,6 @@ import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.annotation.Group1 import com.android.server.wm.flicker.helpers.setRotation -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.rules.RemoveAllTasksButHomeRule.Companion.removeAllTasksButHome import org.junit.FixMethodOrder @@ -59,13 +58,13 @@ class OpenAppColdTest(testSpec: FlickerTestParameter) : OpenAppTransition(testSp /** * Defines the transition used to run the test */ - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) setup { eachRun { removeAllTasksButHome() - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) } } teardown { diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTest.kt index a05b78c4f2d8e..c572e8b066c13 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTest.kt @@ -27,7 +27,6 @@ import com.android.server.wm.flicker.LAUNCHER_COMPONENT import com.android.server.wm.flicker.annotation.Group1 import com.android.server.wm.flicker.helpers.reopenAppFromOverview import com.android.server.wm.flicker.helpers.setRotation -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.traces.common.WindowManagerConditionsFactory import org.junit.FixMethodOrder @@ -64,9 +63,9 @@ class OpenAppFromOverviewTest(testSpec: FlickerTestParameter) : OpenAppTransitio /** * Defines the transition used to run the test */ - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) setup { test { testApp.launchViaIntent(wmHelper) @@ -81,7 +80,7 @@ class OpenAppFromOverviewTest(testSpec: FlickerTestParameter) : OpenAppTransitio WindowManagerConditionsFactory.isActivityVisible(LAUNCHER_COMPONENT), WindowManagerConditionsFactory.hasLayersAnimating().negate() ) - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) } } transitions { diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppNonResizeableTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppNonResizeableTest.kt index ad0da5b4fa459..2c84305f0ed61 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppNonResizeableTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppNonResizeableTest.kt @@ -66,9 +66,9 @@ class OpenAppNonResizeableTest(testSpec: FlickerTestParameter) : OpenAppTransiti /** * Defines the transition used to run the test */ - override val transition: FlickerBuilder.(Map) -> Unit - get() = { args -> - super.transition(this, args) + override val transition: FlickerBuilder.() -> Unit + get() = { + super.transition(this) setup { eachRun { device.sleep() diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppTransition.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppTransition.kt index 7af7b3ab6f247..b104b970766f3 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppTransition.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppTransition.kt @@ -31,9 +31,7 @@ import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.repetitions import com.android.server.wm.flicker.replacesLayer -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarLayerRotatesScales import com.android.server.wm.flicker.statusBarWindowIsVisible @@ -50,13 +48,11 @@ abstract class OpenAppTransition(protected val testSpec: FlickerTestParameter) { /** * Defines the transition used to run the test */ - protected open val transition: FlickerBuilder.(Map) -> Unit = { - withTestName { testSpec.name } - repeat { testSpec.config.repetitions } + protected open val transition: FlickerBuilder.() -> Unit = { setup { test { device.wakeUpAndGoToHomeScreen() - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) } } teardown { @@ -73,7 +69,7 @@ abstract class OpenAppTransition(protected val testSpec: FlickerTestParameter) { @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { - transition(testSpec.config) + transition() } } diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt index 5edee0cf0ca0c..dc7df34c0e9c7 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt @@ -24,7 +24,6 @@ import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.annotation.Group1 import com.android.server.wm.flicker.helpers.setRotation -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.dsl.FlickerBuilder import org.junit.FixMethodOrder import org.junit.Test @@ -59,9 +58,9 @@ class OpenAppWarmTest(testSpec: FlickerTestParameter) : OpenAppTransition(testSp /** * Defines the transition used to run the test */ - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) setup { test { testApp.launchViaIntent(wmHelper) @@ -69,7 +68,7 @@ class OpenAppWarmTest(testSpec: FlickerTestParameter) : OpenAppTransition(testSp eachRun { device.pressHome() wmHelper.waitForHomeActivityVisible() - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) } } teardown { diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/TaskTransitionTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/TaskTransitionTest.kt index 495e2d62a11d7..769cb1ad959be 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/TaskTransitionTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/TaskTransitionTest.kt @@ -33,8 +33,6 @@ import com.android.server.wm.flicker.helpers.NewTasksAppHelper import com.android.server.wm.flicker.helpers.WindowUtils import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.repetitions -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.server.wm.flicker.testapp.ActivityOptions.LAUNCH_NEW_TASK_ACTIVITY_COMPONENT_NAME @@ -71,8 +69,6 @@ class TaskTransitionTest(val testSpec: FlickerTestParameter) { @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { - withTestName { testSpec.name } - repeat { testSpec.config.repetitions } setup { eachRun { mTestApp.launchViaIntent(wmHelper) @@ -149,7 +145,7 @@ class TaskTransitionTest(val testSpec: FlickerTestParameter) { @Test fun colorLayerIsVisibleDuringTransition() { val bgColorLayer = FlickerComponentName("", "colorBackgroundLayer") - val displayBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation) + val displayBounds = WindowUtils.getDisplayBounds(testSpec.startRotation) testSpec.assertLayers { this.coversExactly(displayBounds, LAUNCH_NEW_TASK_ACTIVITY) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsBackTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsBackTest.kt index 52904cce87728..5b0372d1be257 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsBackTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsBackTest.kt @@ -32,11 +32,9 @@ import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.NonResizeableAppHelper import com.android.server.wm.flicker.helpers.SimpleAppHelper import com.android.server.wm.flicker.helpers.WindowUtils -import com.android.server.wm.flicker.helpers.isRotated import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.server.wm.traces.common.FlickerComponentName @@ -68,7 +66,7 @@ class QuickSwitchBetweenTwoAppsBackTest(private val testSpec: FlickerTestParamet private val testApp1 = SimpleAppHelper(instrumentation) private val testApp2 = NonResizeableAppHelper(instrumentation) - private val startDisplayBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation) + private val startDisplayBounds = WindowUtils.getDisplayBounds(testSpec.startRotation) @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { @@ -92,7 +90,7 @@ class QuickSwitchBetweenTwoAppsBackTest(private val testSpec: FlickerTestParamet startDisplayBounds.bounds.bottom, 2 * startDisplayBounds.bounds.right / 3, startDisplayBounds.bounds.bottom, - if (testSpec.config.startRotation.isRotated()) 75 else 30 + if (testSpec.isLandscapeOrSeascapeAtStart) 75 else 30 ) wmHelper.waitForFullScreenApp(testApp1.component) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsForwardTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsForwardTest.kt index 842aa2b548dbf..99bc1155233d2 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsForwardTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsForwardTest.kt @@ -32,12 +32,9 @@ import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.NonResizeableAppHelper import com.android.server.wm.flicker.helpers.SimpleAppHelper import com.android.server.wm.flicker.helpers.WindowUtils -import com.android.server.wm.flicker.helpers.isRotated import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.repetitions -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.server.wm.traces.common.FlickerComponentName @@ -69,13 +66,11 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara private val testApp1 = SimpleAppHelper(instrumentation) private val testApp2 = NonResizeableAppHelper(instrumentation) - private val startDisplayBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation) + private val startDisplayBounds = WindowUtils.getDisplayBounds(testSpec.startRotation) @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { - withTestName { testSpec.name } - repeat { testSpec.config.repetitions } setup { eachRun { testApp1.launchViaIntent(wmHelper) @@ -93,7 +88,7 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara startDisplayBounds.bounds.bottom, 2 * startDisplayBounds.bounds.right / 3, startDisplayBounds.bounds.bottom, - if (testSpec.config.startRotation.isRotated()) 75 else 30 + if (testSpec.isLandscapeOrSeascapeAtStart) 75 else 30 ) wmHelper.waitForFullScreenApp(testApp1.component) @@ -110,7 +105,7 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara startDisplayBounds.bounds.bottom, startDisplayBounds.bounds.right / 3, startDisplayBounds.bounds.bottom, - if (testSpec.config.startRotation.isRotated()) 75 else 30 + if (testSpec.isLandscapeOrSeascapeAtStart) 75 else 30 ) wmHelper.waitForFullScreenApp(testApp2.component) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchFromLauncherTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchFromLauncherTest.kt index 10ca0d9b323b1..dcb5c86f32ada 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchFromLauncherTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchFromLauncherTest.kt @@ -35,7 +35,6 @@ import com.android.server.wm.flicker.helpers.WindowUtils import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible -import com.android.server.wm.flicker.startRotation import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.server.wm.traces.common.FlickerComponentName @@ -64,7 +63,7 @@ import org.junit.runners.Parameterized class QuickSwitchFromLauncherTest(private val testSpec: FlickerTestParameter) { private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() private val testApp = SimpleAppHelper(instrumentation) - private val startDisplayBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation) + private val startDisplayBounds = WindowUtils.getDisplayBounds(testSpec.startRotation) @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/ChangeAppRotationTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/ChangeAppRotationTest.kt index 0bde8a0c20c82..eb7d29dfee748 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/ChangeAppRotationTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/ChangeAppRotationTest.kt @@ -85,9 +85,9 @@ class ChangeAppRotationTest( val flickerRule = WMFlickerServiceRuleForTestSpec(testSpec) override val testApp = SimpleAppHelper(instrumentation) - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) setup { test { testApp.launchViaIntent(wmHelper) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/RotationTransition.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/RotationTransition.kt index e850632ed8af8..ce2347d7c1f27 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/RotationTransition.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/RotationTransition.kt @@ -22,14 +22,12 @@ import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.FlickerBuilderProvider import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.dsl.FlickerBuilder -import com.android.server.wm.flicker.endRotation import com.android.server.wm.flicker.helpers.StandardAppHelper import com.android.server.wm.flicker.helpers.setRotation import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible import com.android.server.wm.flicker.entireScreenCovered -import com.android.server.wm.flicker.startRotation import com.android.server.wm.traces.common.FlickerComponentName import org.junit.Test @@ -41,10 +39,10 @@ abstract class RotationTransition(protected val testSpec: FlickerTestParameter) protected val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() - protected open val transition: FlickerBuilder.(Map) -> Unit = { + protected open val transition: FlickerBuilder.() -> Unit = { setup { eachRun { - this.setRotation(testSpec.config.startRotation) + this.setRotation(testSpec.startRotation) } } teardown { @@ -53,7 +51,7 @@ abstract class RotationTransition(protected val testSpec: FlickerTestParameter) } } transitions { - this.setRotation(testSpec.config.endRotation) + this.setRotation(testSpec.endRotation) } } @@ -64,7 +62,7 @@ abstract class RotationTransition(protected val testSpec: FlickerTestParameter) @FlickerBuilderProvider fun buildFlicker(): FlickerBuilder { return FlickerBuilder(instrumentation).apply { - transition(testSpec.config) + transition() } } diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/SeamlessAppRotationTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/SeamlessAppRotationTest.kt index 310f04b9710fc..c55d7af8f2162 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/SeamlessAppRotationTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/rotation/SeamlessAppRotationTest.kt @@ -81,14 +81,14 @@ class SeamlessAppRotationTest( ) : RotationTransition(testSpec) { override val testApp = SeamlessRotationAppHelper(instrumentation) - override val transition: FlickerBuilder.(Map) -> Unit + override val transition: FlickerBuilder.() -> Unit get() = { - super.transition(this, it) + super.transition(this) setup { test { testApp.launchViaIntent(wmHelper, - stringExtras = mapOf( - ActivityOptions.EXTRA_STARVE_UI_THREAD to it.starveUiThread.toString()) + stringExtras = mapOf(ActivityOptions.EXTRA_STARVE_UI_THREAD + to testSpec.starveUiThread.toString()) ) } } @@ -185,15 +185,17 @@ class SeamlessAppRotationTest( override fun navBarLayerRotatesAndScales() = super.navBarLayerRotatesAndScales() companion object { - private val Map.starveUiThread - get() = this.getOrDefault(ActivityOptions.EXTRA_STARVE_UI_THREAD, false) as Boolean + private val FlickerTestParameter.starveUiThread + get() = config.getOrDefault(ActivityOptions.EXTRA_STARVE_UI_THREAD, false) as Boolean - private fun FlickerTestParameter.createConfig( + private fun createConfig( + sourceConfig: FlickerTestParameter, starveUiThread: Boolean - ): MutableMap { - val config = this.config.toMutableMap() - config[ActivityOptions.EXTRA_STARVE_UI_THREAD] = starveUiThread - return config + ): FlickerTestParameter { + val newConfig = sourceConfig.config.toMutableMap() + .also { it[ActivityOptions.EXTRA_STARVE_UI_THREAD] = starveUiThread } + val nameExt = if (starveUiThread) "_BUSY_UI_THREAD" else "" + return FlickerTestParameter(newConfig, nameOverride = "$sourceConfig$nameExt") } /** @@ -206,15 +208,10 @@ class SeamlessAppRotationTest( private fun getConfigurations(): List { return FlickerTestParameterFactory.getInstance() .getConfigRotationTests(repetitions = 2) - .flatMap { - val defaultRun = it.createConfig(starveUiThread = false) - val busyUiRun = it.createConfig(starveUiThread = true) - listOf( - FlickerTestParameter(defaultRun), - FlickerTestParameter(busyUiRun, - name = "${FlickerTestParameter.defaultName(busyUiRun)}_BUSY_UI_THREAD" - ) - ) + .flatMap { sourceConfig -> + val defaultRun = createConfig(sourceConfig, starveUiThread = false) + val busyUiRun = createConfig(sourceConfig, starveUiThread = true) + listOf(defaultRun, busyUiRun) } }