12/Compatibilize with new FlickerTest class package
And fix ktfmt errors Test: atest FlickerLibTest Bug: 262241371 Change-Id: I99f7ab5d116a40bd9730367e41bcc235027f2687
This commit is contained in:
@@ -19,14 +19,14 @@ package com.android.wm.shell.flicker
|
||||
import android.app.Instrumentation
|
||||
import android.tools.device.flicker.junit.FlickerBuilderProvider
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.launcher3.tapl.LauncherInstrumentation
|
||||
|
||||
abstract class BaseBenchmarkTest
|
||||
@JvmOverloads
|
||||
constructor(
|
||||
protected open val flicker: FlickerTest,
|
||||
protected open val flicker: LegacyFlickerTest,
|
||||
protected val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation(),
|
||||
protected val tapl: LauncherInstrumentation = LauncherInstrumentation()
|
||||
) {
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.android.wm.shell.flicker
|
||||
|
||||
import android.app.Instrumentation
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.launcher3.tapl.LauncherInstrumentation
|
||||
|
||||
@@ -30,7 +30,7 @@ import com.android.launcher3.tapl.LauncherInstrumentation
|
||||
abstract class BaseTest
|
||||
@JvmOverloads
|
||||
constructor(
|
||||
override val flicker: FlickerTest,
|
||||
override val flicker: LegacyFlickerTest,
|
||||
instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation(),
|
||||
tapl: LauncherInstrumentation = LauncherInstrumentation()
|
||||
) : BaseBenchmarkTest(flicker, instrumentation, tapl), ICommonAssertions
|
||||
|
||||
@@ -23,18 +23,18 @@ import android.tools.common.datatypes.Region
|
||||
import android.tools.common.flicker.subject.layers.LayerTraceEntrySubject
|
||||
import android.tools.common.flicker.subject.layers.LayersTraceSubject
|
||||
import android.tools.common.traces.component.IComponentMatcher
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
|
||||
fun FlickerTest.appPairsDividerIsVisibleAtEnd() {
|
||||
fun LegacyFlickerTest.appPairsDividerIsVisibleAtEnd() {
|
||||
assertLayersEnd { this.isVisible(APP_PAIR_SPLIT_DIVIDER_COMPONENT) }
|
||||
}
|
||||
|
||||
fun FlickerTest.appPairsDividerIsInvisibleAtEnd() {
|
||||
fun LegacyFlickerTest.appPairsDividerIsInvisibleAtEnd() {
|
||||
assertLayersEnd { this.notContains(APP_PAIR_SPLIT_DIVIDER_COMPONENT) }
|
||||
}
|
||||
|
||||
fun FlickerTest.appPairsDividerBecomesVisible() {
|
||||
fun LegacyFlickerTest.appPairsDividerBecomesVisible() {
|
||||
assertLayers {
|
||||
this.isInvisible(DOCKED_STACK_DIVIDER_COMPONENT)
|
||||
.then()
|
||||
@@ -42,7 +42,7 @@ fun FlickerTest.appPairsDividerBecomesVisible() {
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.splitScreenEntered(
|
||||
fun LegacyFlickerTest.splitScreenEntered(
|
||||
component1: IComponentMatcher,
|
||||
component2: IComponentMatcher,
|
||||
fromOtherApp: Boolean,
|
||||
@@ -69,7 +69,7 @@ fun FlickerTest.splitScreenEntered(
|
||||
splitScreenDividerIsVisibleAtEnd()
|
||||
}
|
||||
|
||||
fun FlickerTest.splitScreenDismissed(
|
||||
fun LegacyFlickerTest.splitScreenDismissed(
|
||||
component1: IComponentMatcher,
|
||||
component2: IComponentMatcher,
|
||||
toHome: Boolean
|
||||
@@ -87,27 +87,27 @@ fun FlickerTest.splitScreenDismissed(
|
||||
splitScreenDividerIsInvisibleAtEnd()
|
||||
}
|
||||
|
||||
fun FlickerTest.splitScreenDividerIsVisibleAtStart() {
|
||||
fun LegacyFlickerTest.splitScreenDividerIsVisibleAtStart() {
|
||||
assertLayersStart { this.isVisible(SPLIT_SCREEN_DIVIDER_COMPONENT) }
|
||||
}
|
||||
|
||||
fun FlickerTest.splitScreenDividerIsVisibleAtEnd() {
|
||||
fun LegacyFlickerTest.splitScreenDividerIsVisibleAtEnd() {
|
||||
assertLayersEnd { this.isVisible(SPLIT_SCREEN_DIVIDER_COMPONENT) }
|
||||
}
|
||||
|
||||
fun FlickerTest.splitScreenDividerIsInvisibleAtStart() {
|
||||
fun LegacyFlickerTest.splitScreenDividerIsInvisibleAtStart() {
|
||||
assertLayersStart { this.isInvisible(SPLIT_SCREEN_DIVIDER_COMPONENT) }
|
||||
}
|
||||
|
||||
fun FlickerTest.splitScreenDividerIsInvisibleAtEnd() {
|
||||
fun LegacyFlickerTest.splitScreenDividerIsInvisibleAtEnd() {
|
||||
assertLayersEnd { this.isInvisible(SPLIT_SCREEN_DIVIDER_COMPONENT) }
|
||||
}
|
||||
|
||||
fun FlickerTest.splitScreenDividerBecomesVisible() {
|
||||
fun LegacyFlickerTest.splitScreenDividerBecomesVisible() {
|
||||
layerBecomesVisible(SPLIT_SCREEN_DIVIDER_COMPONENT)
|
||||
}
|
||||
|
||||
fun FlickerTest.splitScreenDividerBecomesInvisible() {
|
||||
fun LegacyFlickerTest.splitScreenDividerBecomesInvisible() {
|
||||
assertLayers {
|
||||
this.isVisible(SPLIT_SCREEN_DIVIDER_COMPONENT)
|
||||
.then()
|
||||
@@ -115,23 +115,23 @@ fun FlickerTest.splitScreenDividerBecomesInvisible() {
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.layerBecomesVisible(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.layerBecomesVisible(component: IComponentMatcher) {
|
||||
assertLayers { this.isInvisible(component).then().isVisible(component) }
|
||||
}
|
||||
|
||||
fun FlickerTest.layerBecomesInvisible(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.layerBecomesInvisible(component: IComponentMatcher) {
|
||||
assertLayers { this.isVisible(component).then().isInvisible(component) }
|
||||
}
|
||||
|
||||
fun FlickerTest.layerIsVisibleAtEnd(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.layerIsVisibleAtEnd(component: IComponentMatcher) {
|
||||
assertLayersEnd { this.isVisible(component) }
|
||||
}
|
||||
|
||||
fun FlickerTest.layerKeepVisible(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.layerKeepVisible(component: IComponentMatcher) {
|
||||
assertLayers { this.isVisible(component) }
|
||||
}
|
||||
|
||||
fun FlickerTest.splitAppLayerBoundsBecomesVisible(
|
||||
fun LegacyFlickerTest.splitAppLayerBoundsBecomesVisible(
|
||||
component: IComponentMatcher,
|
||||
landscapePosLeft: Boolean,
|
||||
portraitPosTop: Boolean
|
||||
@@ -150,7 +150,7 @@ fun FlickerTest.splitAppLayerBoundsBecomesVisible(
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.splitAppLayerBoundsBecomesVisibleByDrag(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.splitAppLayerBoundsBecomesVisibleByDrag(component: IComponentMatcher) {
|
||||
assertLayers {
|
||||
this.notContains(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component), isOptional = true)
|
||||
.then()
|
||||
@@ -161,7 +161,7 @@ fun FlickerTest.splitAppLayerBoundsBecomesVisibleByDrag(component: IComponentMat
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.splitAppLayerBoundsBecomesInvisible(
|
||||
fun LegacyFlickerTest.splitAppLayerBoundsBecomesInvisible(
|
||||
component: IComponentMatcher,
|
||||
landscapePosLeft: Boolean,
|
||||
portraitPosTop: Boolean
|
||||
@@ -180,7 +180,7 @@ fun FlickerTest.splitAppLayerBoundsBecomesInvisible(
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.splitAppLayerBoundsIsVisibleAtEnd(
|
||||
fun LegacyFlickerTest.splitAppLayerBoundsIsVisibleAtEnd(
|
||||
component: IComponentMatcher,
|
||||
landscapePosLeft: Boolean,
|
||||
portraitPosTop: Boolean
|
||||
@@ -195,7 +195,7 @@ fun FlickerTest.splitAppLayerBoundsIsVisibleAtEnd(
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.splitAppLayerBoundsKeepVisible(
|
||||
fun LegacyFlickerTest.splitAppLayerBoundsKeepVisible(
|
||||
component: IComponentMatcher,
|
||||
landscapePosLeft: Boolean,
|
||||
portraitPosTop: Boolean
|
||||
@@ -210,7 +210,7 @@ fun FlickerTest.splitAppLayerBoundsKeepVisible(
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.splitAppLayerBoundsChanges(
|
||||
fun LegacyFlickerTest.splitAppLayerBoundsChanges(
|
||||
component: IComponentMatcher,
|
||||
landscapePosLeft: Boolean,
|
||||
portraitPosTop: Boolean
|
||||
@@ -304,7 +304,7 @@ fun LayerTraceEntrySubject.splitAppLayerBoundsSnapToDivider(
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.appWindowBecomesVisible(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.appWindowBecomesVisible(component: IComponentMatcher) {
|
||||
assertWm {
|
||||
this.isAppWindowInvisible(component)
|
||||
.then()
|
||||
@@ -316,39 +316,39 @@ fun FlickerTest.appWindowBecomesVisible(component: IComponentMatcher) {
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.appWindowBecomesInvisible(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.appWindowBecomesInvisible(component: IComponentMatcher) {
|
||||
assertWm { this.isAppWindowVisible(component).then().isAppWindowInvisible(component) }
|
||||
}
|
||||
|
||||
fun FlickerTest.appWindowIsVisibleAtStart(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.appWindowIsVisibleAtStart(component: IComponentMatcher) {
|
||||
assertWmStart { this.isAppWindowVisible(component) }
|
||||
}
|
||||
|
||||
fun FlickerTest.appWindowIsVisibleAtEnd(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.appWindowIsVisibleAtEnd(component: IComponentMatcher) {
|
||||
assertWmEnd { this.isAppWindowVisible(component) }
|
||||
}
|
||||
|
||||
fun FlickerTest.appWindowIsInvisibleAtStart(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.appWindowIsInvisibleAtStart(component: IComponentMatcher) {
|
||||
assertWmStart { this.isAppWindowInvisible(component) }
|
||||
}
|
||||
|
||||
fun FlickerTest.appWindowIsInvisibleAtEnd(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.appWindowIsInvisibleAtEnd(component: IComponentMatcher) {
|
||||
assertWmEnd { this.isAppWindowInvisible(component) }
|
||||
}
|
||||
|
||||
fun FlickerTest.appWindowIsNotContainAtStart(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.appWindowIsNotContainAtStart(component: IComponentMatcher) {
|
||||
assertWmStart { this.notContains(component) }
|
||||
}
|
||||
|
||||
fun FlickerTest.appWindowKeepVisible(component: IComponentMatcher) {
|
||||
fun LegacyFlickerTest.appWindowKeepVisible(component: IComponentMatcher) {
|
||||
assertWm { this.isAppWindowVisible(component) }
|
||||
}
|
||||
|
||||
fun FlickerTest.dockedStackDividerIsVisibleAtEnd() {
|
||||
fun LegacyFlickerTest.dockedStackDividerIsVisibleAtEnd() {
|
||||
assertLayersEnd { this.isVisible(DOCKED_STACK_DIVIDER_COMPONENT) }
|
||||
}
|
||||
|
||||
fun FlickerTest.dockedStackDividerBecomesVisible() {
|
||||
fun LegacyFlickerTest.dockedStackDividerBecomesVisible() {
|
||||
assertLayers {
|
||||
this.isInvisible(DOCKED_STACK_DIVIDER_COMPONENT)
|
||||
.then()
|
||||
@@ -356,7 +356,7 @@ fun FlickerTest.dockedStackDividerBecomesVisible() {
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.dockedStackDividerBecomesInvisible() {
|
||||
fun LegacyFlickerTest.dockedStackDividerBecomesInvisible() {
|
||||
assertLayers {
|
||||
this.isVisible(DOCKED_STACK_DIVIDER_COMPONENT)
|
||||
.then()
|
||||
@@ -364,11 +364,11 @@ fun FlickerTest.dockedStackDividerBecomesInvisible() {
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.dockedStackDividerNotExistsAtEnd() {
|
||||
fun LegacyFlickerTest.dockedStackDividerNotExistsAtEnd() {
|
||||
assertLayersEnd { this.notContains(DOCKED_STACK_DIVIDER_COMPONENT) }
|
||||
}
|
||||
|
||||
fun FlickerTest.appPairsPrimaryBoundsIsVisibleAtEnd(
|
||||
fun LegacyFlickerTest.appPairsPrimaryBoundsIsVisibleAtEnd(
|
||||
rotation: Rotation,
|
||||
primaryComponent: IComponentMatcher
|
||||
) {
|
||||
@@ -380,7 +380,7 @@ fun FlickerTest.appPairsPrimaryBoundsIsVisibleAtEnd(
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.dockedStackPrimaryBoundsIsVisibleAtEnd(
|
||||
fun LegacyFlickerTest.dockedStackPrimaryBoundsIsVisibleAtEnd(
|
||||
rotation: Rotation,
|
||||
primaryComponent: IComponentMatcher
|
||||
) {
|
||||
@@ -392,7 +392,7 @@ fun FlickerTest.dockedStackPrimaryBoundsIsVisibleAtEnd(
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.appPairsSecondaryBoundsIsVisibleAtEnd(
|
||||
fun LegacyFlickerTest.appPairsSecondaryBoundsIsVisibleAtEnd(
|
||||
rotation: Rotation,
|
||||
secondaryComponent: IComponentMatcher
|
||||
) {
|
||||
@@ -404,7 +404,7 @@ fun FlickerTest.appPairsSecondaryBoundsIsVisibleAtEnd(
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTest.dockedStackSecondaryBoundsIsVisibleAtEnd(
|
||||
fun LegacyFlickerTest.dockedStackSecondaryBoundsIsVisibleAtEnd(
|
||||
rotation: Rotation,
|
||||
secondaryComponent: IComponentMatcher
|
||||
) {
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.android.wm.shell.flicker
|
||||
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import com.android.server.wm.flicker.entireScreenCovered
|
||||
import com.android.server.wm.flicker.navBarLayerIsVisibleAtStartAndEnd
|
||||
import com.android.server.wm.flicker.navBarLayerPositionAtStartAndEnd
|
||||
@@ -32,7 +32,7 @@ import org.junit.Assume
|
||||
import org.junit.Test
|
||||
|
||||
interface ICommonAssertions {
|
||||
val flicker: FlickerTest
|
||||
val flicker: LegacyFlickerTest
|
||||
|
||||
/** Checks that all parts of the screen are covered during the transition */
|
||||
@Presubmit @Test fun entireScreenCovered() = flicker.entireScreenCovered()
|
||||
|
||||
@@ -20,20 +20,20 @@ import android.content.Context
|
||||
import android.system.helpers.CommandsHelper
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import com.android.server.wm.flicker.helpers.setRotation
|
||||
import android.tools.device.flicker.legacy.FlickerTestData
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import com.android.server.wm.flicker.helpers.LetterboxAppHelper
|
||||
import android.tools.device.flicker.legacy.IFlickerTestData
|
||||
import com.android.server.wm.flicker.helpers.setRotation
|
||||
import com.android.wm.shell.flicker.BaseTest
|
||||
import com.android.wm.shell.flicker.appWindowIsVisibleAtStart
|
||||
import com.android.wm.shell.flicker.appWindowIsVisibleAtEnd
|
||||
import com.android.wm.shell.flicker.appWindowIsVisibleAtStart
|
||||
import com.android.wm.shell.flicker.appWindowKeepVisible
|
||||
import com.android.wm.shell.flicker.layerKeepVisible
|
||||
import org.junit.After
|
||||
import org.junit.Assume
|
||||
import org.junit.Before
|
||||
|
||||
abstract class BaseAppCompat(flicker: FlickerTest) : BaseTest(flicker) {
|
||||
abstract class BaseAppCompat(flicker: LegacyFlickerTest) : BaseTest(flicker) {
|
||||
protected val context: Context = instrumentation.context
|
||||
protected val letterboxApp = LetterboxAppHelper(instrumentation)
|
||||
lateinit var cmdHelper: CommandsHelper
|
||||
@@ -47,9 +47,7 @@ abstract class BaseAppCompat(flicker: FlickerTest) : BaseTest(flicker) {
|
||||
letterboxApp.launchViaIntent(wmHelper)
|
||||
setEndRotation()
|
||||
}
|
||||
teardown {
|
||||
letterboxApp.exit(wmHelper)
|
||||
}
|
||||
teardown { letterboxApp.exit(wmHelper) }
|
||||
}
|
||||
|
||||
@Before
|
||||
@@ -100,9 +98,9 @@ abstract class BaseAppCompat(flicker: FlickerTest) : BaseTest(flicker) {
|
||||
return res != null && res.contains("true")
|
||||
}
|
||||
|
||||
fun IFlickerTestData.setStartRotation() = setRotation(flicker.scenario.startRotation)
|
||||
fun FlickerTestData.setStartRotation() = setRotation(flicker.scenario.startRotation)
|
||||
|
||||
fun IFlickerTestData.setEndRotation() = setRotation(flicker.scenario.endRotation)
|
||||
fun FlickerTestData.setEndRotation() = setRotation(flicker.scenario.endRotation)
|
||||
|
||||
/** Checks that app entering letterboxed state have rounded corners */
|
||||
fun assertLetterboxAppAtStartHasRoundedCorners() {
|
||||
@@ -131,13 +129,13 @@ abstract class BaseAppCompat(flicker: FlickerTest) : BaseTest(flicker) {
|
||||
}
|
||||
|
||||
fun assertAppLetterboxedAtEnd() =
|
||||
flicker.assertLayersEnd { isVisible(ComponentNameMatcher.LETTERBOX) }
|
||||
flicker.assertLayersEnd { isVisible(ComponentNameMatcher.LETTERBOX) }
|
||||
|
||||
fun assertAppLetterboxedAtStart() =
|
||||
flicker.assertLayersStart { isVisible(ComponentNameMatcher.LETTERBOX) }
|
||||
flicker.assertLayersStart { isVisible(ComponentNameMatcher.LETTERBOX) }
|
||||
|
||||
fun assertAppStaysLetterboxed() =
|
||||
flicker.assertLayers { isVisible(ComponentNameMatcher.LETTERBOX) }
|
||||
flicker.assertLayers { isVisible(ComponentNameMatcher.LETTERBOX) }
|
||||
|
||||
fun assertLetterboxAppLayerKeepVisible() = flicker.layerKeepVisible(letterboxApp)
|
||||
|
||||
|
||||
@@ -17,11 +17,12 @@
|
||||
package com.android.wm.shell.flicker.appcompat
|
||||
|
||||
import android.platform.test.annotations.Postsubmit
|
||||
import android.tools.common.flicker.assertions.FlickerTest
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -46,7 +47,7 @@ import org.junit.runners.Parameterized
|
||||
@RequiresDevice
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
class OpenAppInSizeCompatModeTest(flicker: FlickerTest) : BaseAppCompat(flicker) {
|
||||
class OpenAppInSizeCompatModeTest(flicker: LegacyFlickerTest) : BaseAppCompat(flicker) {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
@@ -71,9 +72,7 @@ class OpenAppInSizeCompatModeTest(flicker: FlickerTest) : BaseAppCompat(flicker)
|
||||
@Test
|
||||
fun letterboxedAppHasRoundedCorners() = assertLetterboxAppAtEndHasRoundedCorners()
|
||||
|
||||
@Postsubmit
|
||||
@Test
|
||||
fun appIsLetterboxedAtEnd() = assertAppLetterboxedAtEnd()
|
||||
@Postsubmit @Test fun appIsLetterboxedAtEnd() = assertAppLetterboxedAtEnd()
|
||||
|
||||
/**
|
||||
* Checks that the [ComponentNameMatcher.ROTATION] layer appears during the transition, doesn't
|
||||
@@ -96,13 +95,13 @@ class OpenAppInSizeCompatModeTest(flicker: FlickerTest) : BaseAppCompat(flicker)
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.rotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.rotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.rotationTests()
|
||||
return LegacyFlickerTestFactory.rotationTests()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,29 +18,29 @@ package com.android.wm.shell.flicker.appcompat
|
||||
|
||||
import android.platform.test.annotations.Postsubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.common.flicker.assertions.FlickerTest
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.Test
|
||||
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
/**
|
||||
* Test launching a fixed portrait letterboxed app in landscape and repositioning to the right.
|
||||
*
|
||||
* To run this test: `atest WMShellFlickerTests:RepositionFixedPortraitAppTest`
|
||||
* Actions:
|
||||
* To run this test: `atest WMShellFlickerTests:RepositionFixedPortraitAppTest` Actions:
|
||||
*
|
||||
* ```
|
||||
* Launch a fixed portrait app in landscape to letterbox app
|
||||
* Double tap to the right to reposition app and wait for app to move
|
||||
* ```
|
||||
*
|
||||
* Notes:
|
||||
* Notes:
|
||||
*
|
||||
* ```
|
||||
* Some default assertions (e.g., nav bar, status bar and screen covered)
|
||||
* are inherited [BaseTest]
|
||||
@@ -49,7 +49,7 @@ import org.junit.runners.Parameterized
|
||||
@RequiresDevice
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
class RepositionFixedPortraitAppTest(flicker: FlickerTest) : BaseAppCompat(flicker) {
|
||||
class RepositionFixedPortraitAppTest(flicker: LegacyFlickerTest) : BaseAppCompat(flicker) {
|
||||
|
||||
val displayBounds = WindowUtils.getDisplayBounds(flicker.scenario.startRotation).bounds
|
||||
/** {@inheritDoc} */
|
||||
@@ -73,31 +73,25 @@ class RepositionFixedPortraitAppTest(flicker: FlickerTest) : BaseAppCompat(flick
|
||||
@Test
|
||||
fun letterboxedAppHasRoundedCorners() = assertLetterboxAppAtEndHasRoundedCorners()
|
||||
|
||||
@Postsubmit
|
||||
@Test
|
||||
fun letterboxAppLayerKeepVisible() = assertLetterboxAppLayerKeepVisible()
|
||||
@Postsubmit @Test fun letterboxAppLayerKeepVisible() = assertLetterboxAppLayerKeepVisible()
|
||||
|
||||
@Postsubmit
|
||||
@Test
|
||||
fun appStaysLetterboxed() = assertAppStaysLetterboxed()
|
||||
@Postsubmit @Test fun appStaysLetterboxed() = assertAppStaysLetterboxed()
|
||||
|
||||
@Postsubmit
|
||||
@Test
|
||||
fun appKeepVisible() = assertLetterboxAppKeepVisible()
|
||||
@Postsubmit @Test fun appKeepVisible() = assertLetterboxAppKeepVisible()
|
||||
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
return LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_90)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,10 +17,11 @@
|
||||
package com.android.wm.shell.flicker.appcompat
|
||||
|
||||
import android.platform.test.annotations.Postsubmit
|
||||
import android.tools.common.flicker.assertions.FlickerTest
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.Test
|
||||
@@ -47,7 +48,7 @@ import org.junit.runners.Parameterized
|
||||
@RequiresDevice
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
class RestartAppInSizeCompatModeTest(flicker: FlickerTest) : BaseAppCompat(flicker) {
|
||||
class RestartAppInSizeCompatModeTest(flicker: LegacyFlickerTest) : BaseAppCompat(flicker) {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
@@ -70,13 +71,9 @@ class RestartAppInSizeCompatModeTest(flicker: FlickerTest) : BaseAppCompat(flick
|
||||
}
|
||||
}
|
||||
|
||||
@Postsubmit
|
||||
@Test
|
||||
fun appLayerKeepVisible() = assertLetterboxAppLayerKeepVisible()
|
||||
@Postsubmit @Test fun appLayerKeepVisible() = assertLetterboxAppLayerKeepVisible()
|
||||
|
||||
@Postsubmit
|
||||
@Test
|
||||
fun appIsLetterboxedAtStart() = assertAppLetterboxedAtStart()
|
||||
@Postsubmit @Test fun appIsLetterboxedAtStart() = assertAppLetterboxedAtStart()
|
||||
|
||||
@Postsubmit
|
||||
@Test
|
||||
@@ -94,13 +91,13 @@ class RestartAppInSizeCompatModeTest(flicker: FlickerTest) : BaseAppCompat(flick
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.rotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.rotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.rotationTests()
|
||||
return LegacyFlickerTestFactory.rotationTests()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,9 +23,9 @@ import android.content.pm.PackageManager
|
||||
import android.os.ServiceManager
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.IFlickerTestData
|
||||
import android.tools.device.flicker.legacy.FlickerTestData
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import android.tools.device.helpers.SYSTEMUI_PACKAGE
|
||||
import androidx.test.uiautomator.By
|
||||
import androidx.test.uiautomator.UiObject2
|
||||
@@ -35,7 +35,7 @@ import com.android.wm.shell.flicker.BaseTest
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
/** Base configurations for Bubble flicker tests */
|
||||
abstract class BaseBubbleScreen(flicker: FlickerTest) : BaseTest(flicker) {
|
||||
abstract class BaseBubbleScreen(flicker: LegacyFlickerTest) : BaseTest(flicker) {
|
||||
|
||||
protected val context: Context = instrumentation.context
|
||||
protected val testApp = LaunchBubbleHelper(instrumentation)
|
||||
@@ -79,19 +79,18 @@ abstract class BaseBubbleScreen(flicker: FlickerTest) : BaseTest(flicker) {
|
||||
}
|
||||
}
|
||||
|
||||
protected fun IFlickerTestData.waitAndGetAddBubbleBtn(): UiObject2? =
|
||||
protected fun FlickerTestData.waitAndGetAddBubbleBtn(): UiObject2? =
|
||||
device.wait(Until.findObject(By.text("Add Bubble")), FIND_OBJECT_TIMEOUT)
|
||||
protected fun IFlickerTestData.waitAndGetCancelAllBtn(): UiObject2? =
|
||||
protected fun FlickerTestData.waitAndGetCancelAllBtn(): UiObject2? =
|
||||
device.wait(Until.findObject(By.text("Cancel All Bubble")), FIND_OBJECT_TIMEOUT)
|
||||
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
|
||||
const val FIND_OBJECT_TIMEOUT = 2000L
|
||||
const val SYSTEM_UI_PACKAGE = SYSTEMUI_PACKAGE
|
||||
|
||||
@@ -21,7 +21,7 @@ import android.platform.test.annotations.FlakyTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.uiautomator.By
|
||||
import androidx.test.uiautomator.UiObject2
|
||||
@@ -44,7 +44,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FlakyTest(bugId = 217777115)
|
||||
open class ChangeActiveActivityFromBubbleTest(flicker: FlickerTest) : BaseBubbleScreen(flicker) {
|
||||
open class ChangeActiveActivityFromBubbleTest(flicker: LegacyFlickerTest) :
|
||||
BaseBubbleScreen(flicker) {
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = buildTransition {
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
package com.android.wm.shell.flicker.bubble
|
||||
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
open class ChangeActiveActivityFromBubbleTestCfArm(flicker: FlickerTest) :
|
||||
open class ChangeActiveActivityFromBubbleTestCfArm(flicker: LegacyFlickerTest) :
|
||||
ChangeActiveActivityFromBubbleTest(flicker)
|
||||
|
||||
@@ -21,7 +21,7 @@ import android.graphics.Point
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.util.DisplayMetrics
|
||||
import android.view.WindowManager
|
||||
import androidx.test.filters.RequiresDevice
|
||||
@@ -44,7 +44,7 @@ import org.junit.runners.Parameterized
|
||||
@RequiresDevice
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
open class DragToDismissBubbleScreenTest(flicker: FlickerTest) : BaseBubbleScreen(flicker) {
|
||||
open class DragToDismissBubbleScreenTest(flicker: LegacyFlickerTest) : BaseBubbleScreen(flicker) {
|
||||
|
||||
private val wm = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager
|
||||
private val displaySize = DisplayMetrics()
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
package com.android.wm.shell.flicker.bubble
|
||||
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
class DragToDismissBubbleScreenTestCfArm(flicker: FlickerTest) :
|
||||
class DragToDismissBubbleScreenTestCfArm(flicker: LegacyFlickerTest) :
|
||||
DragToDismissBubbleScreenTest(flicker)
|
||||
|
||||
@@ -21,7 +21,7 @@ import android.platform.test.annotations.Postsubmit
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.view.WindowInsets
|
||||
import android.view.WindowManager
|
||||
import androidx.test.filters.RequiresDevice
|
||||
@@ -48,7 +48,8 @@ import org.junit.runners.Parameterized
|
||||
@RequiresDevice
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
class OpenActivityFromBubbleOnLocksreenTest(flicker: FlickerTest) : BaseBubbleScreen(flicker) {
|
||||
class OpenActivityFromBubbleOnLocksreenTest(flicker: LegacyFlickerTest) :
|
||||
BaseBubbleScreen(flicker) {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.android.wm.shell.flicker.bubble
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.uiautomator.By
|
||||
import androidx.test.uiautomator.Until
|
||||
@@ -42,7 +42,7 @@ import org.junit.runners.Parameterized
|
||||
@RequiresDevice
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
open class OpenActivityFromBubbleTest(flicker: FlickerTest) : BaseBubbleScreen(flicker) {
|
||||
open class OpenActivityFromBubbleTest(flicker: LegacyFlickerTest) : BaseBubbleScreen(flicker) {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
|
||||
@@ -17,10 +17,11 @@
|
||||
package com.android.wm.shell.flicker.bubble
|
||||
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
class OpenActivityFromBubbleTestCfArm(flicker: FlickerTest) : OpenActivityFromBubbleTest(flicker)
|
||||
class OpenActivityFromBubbleTestCfArm(flicker: LegacyFlickerTest) :
|
||||
OpenActivityFromBubbleTest(flicker)
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.android.wm.shell.flicker.bubble
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.uiautomator.By
|
||||
import androidx.test.uiautomator.Until
|
||||
@@ -41,7 +41,7 @@ import org.junit.runners.Parameterized
|
||||
@RequiresDevice
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
open class SendBubbleNotificationTest(flicker: FlickerTest) : BaseBubbleScreen(flicker) {
|
||||
open class SendBubbleNotificationTest(flicker: LegacyFlickerTest) : BaseBubbleScreen(flicker) {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
package com.android.wm.shell.flicker.bubble
|
||||
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
open class SendBubbleNotificationTestCfArm(flicker: FlickerTest) :
|
||||
open class SendBubbleNotificationTestCfArm(flicker: LegacyFlickerTest) :
|
||||
SendBubbleNotificationTest(flicker)
|
||||
|
||||
@@ -24,8 +24,8 @@ import android.tools.common.Rotation
|
||||
import android.tools.device.apphelpers.StandardAppHelper
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
import android.tools.device.traces.parsers.toFlickerComponent
|
||||
import androidx.test.filters.RequiresDevice
|
||||
@@ -69,17 +69,17 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class AutoEnterPipFromSplitScreenOnGoToHomeTest(flicker: FlickerTest) :
|
||||
AutoEnterPipOnGoToHomeTest(flicker) {
|
||||
class AutoEnterPipFromSplitScreenOnGoToHomeTest(flicker: LegacyFlickerTest) :
|
||||
AutoEnterPipOnGoToHomeTest(flicker) {
|
||||
private val portraitDisplayBounds = WindowUtils.getDisplayBounds(Rotation.ROTATION_0)
|
||||
/** Second app used to enter split screen mode */
|
||||
protected val secondAppForSplitScreen = getSplitScreenApp(instrumentation)
|
||||
fun getSplitScreenApp(instrumentation: Instrumentation): StandardAppHelper =
|
||||
SimpleAppHelper(
|
||||
instrumentation,
|
||||
ActivityOptions.SplitScreen.Primary.LABEL,
|
||||
ActivityOptions.SplitScreen.Primary.COMPONENT.toFlickerComponent()
|
||||
)
|
||||
SimpleAppHelper(
|
||||
instrumentation,
|
||||
ActivityOptions.SplitScreen.Primary.LABEL,
|
||||
ActivityOptions.SplitScreen.Primary.COMPONENT.toFlickerComponent()
|
||||
)
|
||||
|
||||
/** Defines the transition used to run the test */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
@@ -91,11 +91,11 @@ class AutoEnterPipFromSplitScreenOnGoToHomeTest(flicker: FlickerTest) :
|
||||
enterSplitScreen()
|
||||
// wait until split screen is established
|
||||
wmHelper
|
||||
.StateSyncBuilder()
|
||||
.withWindowSurfaceAppeared(pipApp)
|
||||
.withWindowSurfaceAppeared(secondAppForSplitScreen)
|
||||
.withSplitDividerVisible()
|
||||
.waitForAndVerify()
|
||||
.StateSyncBuilder()
|
||||
.withWindowSurfaceAppeared(pipApp)
|
||||
.withWindowSurfaceAppeared(secondAppForSplitScreen)
|
||||
.withSplitDividerVisible()
|
||||
.waitForAndVerify()
|
||||
pipApp.enableAutoEnterForPipActivity()
|
||||
}
|
||||
teardown {
|
||||
@@ -120,8 +120,8 @@ class AutoEnterPipFromSplitScreenOnGoToHomeTest(flicker: FlickerTest) :
|
||||
// contains more than 3 task views. We need to use uiautomator directly to find the
|
||||
// second task to split.
|
||||
tapl.workspace.switchToOverview().overviewActions.clickSplit()
|
||||
val snapshots = tapl.device.wait(Until.findObjects(overviewSnapshotSelector),
|
||||
TIMEOUT_MS)
|
||||
val snapshots =
|
||||
tapl.device.wait(Until.findObjects(overviewSnapshotSelector), TIMEOUT_MS)
|
||||
if (snapshots == null || snapshots.size < 1) {
|
||||
error("Fail to find a overview snapshot to split.")
|
||||
}
|
||||
@@ -137,12 +137,12 @@ class AutoEnterPipFromSplitScreenOnGoToHomeTest(flicker: FlickerTest) :
|
||||
snapshots[0].click()
|
||||
} else {
|
||||
tapl.workspace
|
||||
.switchToOverview()
|
||||
.currentTask
|
||||
.tapMenu()
|
||||
.tapSplitMenuItem()
|
||||
.currentTask
|
||||
.open()
|
||||
.switchToOverview()
|
||||
.currentTask
|
||||
.tapMenu()
|
||||
.tapSplitMenuItem()
|
||||
.currentTask
|
||||
.open()
|
||||
}
|
||||
SystemClock.sleep(TIMEOUT_MS)
|
||||
}
|
||||
@@ -190,11 +190,10 @@ class AutoEnterPipFromSplitScreenOnGoToHomeTest(flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.android.wm.shell.flicker.pip
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.Assume
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -53,10 +53,9 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class AutoEnterPipOnGoToHomeTest(flicker: FlickerTest) : EnterPipViaAppUiButtonTest(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
transitions { tapl.goHome() }
|
||||
}
|
||||
open class AutoEnterPipOnGoToHomeTest(flicker: LegacyFlickerTest) :
|
||||
EnterPipViaAppUiButtonTest(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = { transitions { tapl.goHome() } }
|
||||
|
||||
override val defaultEnterPip: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
|
||||
@@ -20,7 +20,7 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -53,7 +53,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class ClosePipBySwipingDownTest(flicker: FlickerTest) : ClosePipTransition(flicker) {
|
||||
open class ClosePipBySwipingDownTest(flicker: LegacyFlickerTest) : ClosePipTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
transitions {
|
||||
val pipRegion = wmHelper.getWindowRegion(pipApp).bounds
|
||||
|
||||
@@ -18,8 +18,8 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -28,20 +28,20 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class ClosePipBySwipingDownTestCfArm(flicker: FlickerTest) : ClosePipBySwipingDownTest(flicker) {
|
||||
class ClosePipBySwipingDownTestCfArm(flicker: LegacyFlickerTest) :
|
||||
ClosePipBySwipingDownTest(flicker) {
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring repetitions, screen orientation
|
||||
* and navigation modes.
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring repetitions, screen
|
||||
* orientation and navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,14 +20,14 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.common.traces.component.ComponentNameMatcher.Companion.LAUNCHER
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import com.android.server.wm.flicker.helpers.setRotation
|
||||
import org.junit.Test
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
/** Base class for exiting pip (closing pip window) without returning to the app */
|
||||
abstract class ClosePipTransition(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
abstract class ClosePipTransition(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
setup { this.setRotation(flicker.scenario.startRotation) }
|
||||
teardown { this.setRotation(Rotation.ROTATION_0) }
|
||||
@@ -74,15 +74,14 @@ abstract class ClosePipTransition(flicker: FlickerTest) : PipTransition(flicker)
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring repetitions, screen orientation
|
||||
* and navigation modes.
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring repetitions, screen
|
||||
* orientation and navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.android.wm.shell.flicker.pip
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -53,7 +53,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class ClosePipWithDismissButtonTest(flicker: FlickerTest) : ClosePipTransition(flicker) {
|
||||
open class ClosePipWithDismissButtonTest(flicker: LegacyFlickerTest) : ClosePipTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
transitions { pipApp.closePipWindow(wmHelper) }
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -28,21 +28,20 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class ClosePipWithDismissButtonTestCfArm(flicker: FlickerTest) :
|
||||
open class ClosePipWithDismissButtonTestCfArm(flicker: LegacyFlickerTest) :
|
||||
ClosePipWithDismissButtonTest(flicker) {
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring repetitions, screen orientation
|
||||
* and navigation modes.
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring repetitions, screen
|
||||
* orientation and navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.android.wm.shell.flicker.pip
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.Assume
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -44,10 +44,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class EnterPipOnUserLeaveHintTest(flicker: FlickerTest) : EnterPipTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
transitions { tapl.goHome() }
|
||||
}
|
||||
open class EnterPipOnUserLeaveHintTest(flicker: LegacyFlickerTest) : EnterPipTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = { transitions { tapl.goHome() } }
|
||||
|
||||
override val defaultEnterPip: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -27,4 +27,5 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class EnterPipOnUserLeaveHintTestCfArm(flicker: FlickerTest) : EnterPipOnUserLeaveHintTest(flicker)
|
||||
class EnterPipOnUserLeaveHintTestCfArm(flicker: LegacyFlickerTest) :
|
||||
EnterPipOnUserLeaveHintTest(flicker)
|
||||
|
||||
@@ -21,11 +21,12 @@ import android.platform.test.annotations.FlakyTest
|
||||
import android.platform.test.annotations.Postsubmit
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.common.flicker.assertions.FlickerTest
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.entireScreenCovered
|
||||
@@ -68,15 +69,13 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class EnterPipToOtherOrientation(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
open class EnterPipToOtherOrientation(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
private val testApp = FixedOrientationAppHelper(instrumentation)
|
||||
private val startingBounds = WindowUtils.getDisplayBounds(Rotation.ROTATION_90)
|
||||
private val endingBounds = WindowUtils.getDisplayBounds(Rotation.ROTATION_0)
|
||||
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
teardown {
|
||||
testApp.exit(wmHelper)
|
||||
}
|
||||
teardown { testApp.exit(wmHelper) }
|
||||
transitions {
|
||||
// Enter PiP, and assert that the PiP is within bounds now that the device is back
|
||||
// in portrait
|
||||
@@ -95,14 +94,13 @@ open class EnterPipToOtherOrientation(flicker: FlickerTest) : PipTransition(flic
|
||||
setup {
|
||||
// Launch a portrait only app on the fullscreen stack
|
||||
testApp.launchViaIntent(
|
||||
wmHelper,
|
||||
stringExtras = mapOf(EXTRA_FIXED_ORIENTATION to ORIENTATION_PORTRAIT.toString())
|
||||
wmHelper,
|
||||
stringExtras = mapOf(EXTRA_FIXED_ORIENTATION to ORIENTATION_PORTRAIT.toString())
|
||||
)
|
||||
// Launch the PiP activity fixed as landscape, but don't enter PiP
|
||||
pipApp.launchViaIntent(
|
||||
wmHelper,
|
||||
stringExtras =
|
||||
mapOf(EXTRA_FIXED_ORIENTATION to ORIENTATION_LANDSCAPE.toString())
|
||||
wmHelper,
|
||||
stringExtras = mapOf(EXTRA_FIXED_ORIENTATION to ORIENTATION_LANDSCAPE.toString())
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -207,13 +205,13 @@ open class EnterPipToOtherOrientation(flicker: FlickerTest) : PipTransition(flic
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
return LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -17,9 +17,10 @@
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.common.flicker.assertions.FlickerTest
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -29,19 +30,19 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class EnterPipToOtherOrientationCfArm(flicker: FlickerTest) :
|
||||
open class EnterPipToOtherOrientationCfArm(flicker: LegacyFlickerTest) :
|
||||
EnterPipToOtherOrientation(flicker) {
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
return LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -20,16 +20,14 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.Test
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
abstract class EnterPipTransition(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
abstract class EnterPipTransition(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
override val defaultEnterPip: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
pipApp.launchViaIntent(wmHelper)
|
||||
}
|
||||
setup { pipApp.launchViaIntent(wmHelper) }
|
||||
}
|
||||
|
||||
/** Checks [pipApp] window remains visible throughout the animation */
|
||||
@@ -126,15 +124,14 @@ abstract class EnterPipTransition(flicker: FlickerTest) : PipTransition(flicker)
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring repetitions, screen orientation
|
||||
* and navigation modes.
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring repetitions, screen
|
||||
* orientation and navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
@@ -50,7 +50,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class EnterPipViaAppUiButtonTest(flicker: FlickerTest) : EnterPipTransition(flicker) {
|
||||
open class EnterPipViaAppUiButtonTest(flicker: LegacyFlickerTest) : EnterPipTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
transitions { pipApp.clickEnterPipButton(wmHelper) }
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -28,20 +28,20 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class EnterPipViaAppUiButtonTestCfArm(flicker: FlickerTest) : EnterPipViaAppUiButtonTest(flicker) {
|
||||
class EnterPipViaAppUiButtonTestCfArm(flicker: LegacyFlickerTest) :
|
||||
EnterPipViaAppUiButtonTest(flicker) {
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring repetitions, screen orientation
|
||||
* and navigation modes.
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring repetitions, screen
|
||||
* orientation and navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,14 +19,14 @@ package com.android.wm.shell.flicker.pip
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import com.android.server.wm.flicker.helpers.SimpleAppHelper
|
||||
import org.junit.Test
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
/** Base class for pip expand tests */
|
||||
abstract class ExitPipToAppTransition(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
abstract class ExitPipToAppTransition(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
protected val testApp = SimpleAppHelper(instrumentation)
|
||||
|
||||
/**
|
||||
@@ -130,15 +130,14 @@ abstract class ExitPipToAppTransition(flicker: FlickerTest) : PipTransition(flic
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
@@ -52,7 +52,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class ExitPipToAppViaExpandButtonTest(flicker: FlickerTest) : ExitPipToAppTransition(flicker) {
|
||||
open class ExitPipToAppViaExpandButtonTest(flicker: LegacyFlickerTest) :
|
||||
ExitPipToAppTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
// launch an app behind the pip one
|
||||
|
||||
@@ -18,8 +18,8 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -28,21 +28,20 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class ExitPipToAppViaExpandButtonTestCfArm(flicker: FlickerTest) :
|
||||
class ExitPipToAppViaExpandButtonTestCfArm(flicker: LegacyFlickerTest) :
|
||||
ExitPipToAppViaExpandButtonTest(flicker) {
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
@@ -51,7 +51,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class ExitPipToAppViaIntentTest(flicker: FlickerTest) : ExitPipToAppTransition(flicker) {
|
||||
open class ExitPipToAppViaIntentTest(flicker: LegacyFlickerTest) : ExitPipToAppTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
// launch an app behind the pip one
|
||||
|
||||
@@ -18,8 +18,8 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -28,20 +28,20 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class ExitPipToAppViaIntentTestCfArm(flicker: FlickerTest) : ExitPipToAppViaIntentTest(flicker) {
|
||||
class ExitPipToAppViaIntentTestCfArm(flicker: LegacyFlickerTest) :
|
||||
ExitPipToAppViaIntentTest(flicker) {
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring repetitions, screen orientation
|
||||
* and navigation modes.
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring repetitions, screen
|
||||
* orientation and navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.tools.common.Rotation
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -55,7 +55,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class ExpandPipOnDoubleClickTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
open class ExpandPipOnDoubleClickTest(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
transitions { pipApp.doubleClickPipWindow(wmHelper) }
|
||||
}
|
||||
@@ -142,15 +142,14 @@ open class ExpandPipOnDoubleClickTest(flicker: FlickerTest) : PipTransition(flic
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -28,21 +28,20 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class ExpandPipOnDoubleClickTestTestCfArm(flicker: FlickerTest) :
|
||||
class ExpandPipOnDoubleClickTestTestCfArm(flicker: LegacyFlickerTest) :
|
||||
ExpandPipOnDoubleClickTest(flicker) {
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -34,7 +34,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class ExpandPipOnPinchOpenTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
open class ExpandPipOnPinchOpenTest(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
transitions { pipApp.pinchOpenPipWindow(wmHelper, 0.25f, 30) }
|
||||
}
|
||||
@@ -55,15 +55,14 @@ open class ExpandPipOnPinchOpenTest(flicker: FlickerTest) : PipTransition(flicke
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -28,20 +28,20 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class ExpandPipOnPinchOpenTestCfArm(flicker: FlickerTest) : ExpandPipOnPinchOpenTest(flicker) {
|
||||
class ExpandPipOnPinchOpenTestCfArm(flicker: LegacyFlickerTest) :
|
||||
ExpandPipOnPinchOpenTest(flicker) {
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.android.wm.shell.flicker.pip
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.Direction
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -55,7 +55,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class MovePipDownOnShelfHeightChange(flicker: FlickerTest) : MovePipShelfHeightTransition(flicker) {
|
||||
class MovePipDownOnShelfHeightChange(flicker: LegacyFlickerTest) :
|
||||
MovePipShelfHeightTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
teardown { testApp.exit(wmHelper) }
|
||||
transitions { testApp.launchViaIntent(wmHelper) }
|
||||
|
||||
@@ -18,11 +18,12 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.common.flicker.assertions.FlickerTest
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.helpers.ImeAppHelper
|
||||
@@ -38,7 +39,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class MovePipOnImeVisibilityChangeTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
open class MovePipOnImeVisibilityChangeTest(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
private val imeApp = ImeAppHelper(instrumentation)
|
||||
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
@@ -80,7 +81,7 @@ open class MovePipOnImeVisibilityChangeTest(flicker: FlickerTest) : PipTransitio
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
return LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -17,9 +17,10 @@
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.common.flicker.assertions.FlickerTest
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -28,7 +29,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class MovePipOnImeVisibilityChangeTestCfArm(flicker: FlickerTest) :
|
||||
class MovePipOnImeVisibilityChangeTestCfArm(flicker: LegacyFlickerTest) :
|
||||
MovePipOnImeVisibilityChangeTest(flicker) {
|
||||
companion object {
|
||||
private const val TAG_IME_VISIBLE = "imeIsVisible"
|
||||
@@ -36,7 +37,7 @@ class MovePipOnImeVisibilityChangeTestCfArm(flicker: FlickerTest) :
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
return LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -19,15 +19,15 @@ package com.android.wm.shell.flicker.pip
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.common.flicker.subject.region.RegionSubject
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import com.android.server.wm.flicker.helpers.FixedOrientationAppHelper
|
||||
import com.android.wm.shell.flicker.Direction
|
||||
import org.junit.Test
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
/** Base class for pip tests with Launcher shelf height change */
|
||||
abstract class MovePipShelfHeightTransition(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
abstract class MovePipShelfHeightTransition(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
protected val testApp = FixedOrientationAppHelper(instrumentation)
|
||||
|
||||
/** Checks [pipApp] window remains visible throughout the animation */
|
||||
@@ -111,15 +111,14 @@ abstract class MovePipShelfHeightTransition(flicker: FlickerTest) : PipTransitio
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.android.wm.shell.flicker.pip
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.Direction
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -55,14 +55,13 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class MovePipUpOnShelfHeightChangeTest(flicker: FlickerTest) :
|
||||
open class MovePipUpOnShelfHeightChangeTest(flicker: LegacyFlickerTest) :
|
||||
MovePipShelfHeightTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit =
|
||||
{
|
||||
setup { testApp.launchViaIntent(wmHelper) }
|
||||
transitions { tapl.pressHome() }
|
||||
teardown { testApp.exit(wmHelper) }
|
||||
}
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
setup { testApp.launchViaIntent(wmHelper) }
|
||||
transitions { tapl.pressHome() }
|
||||
teardown { testApp.exit(wmHelper) }
|
||||
}
|
||||
|
||||
/** Checks that the visible region of [pipApp] window always moves up during the animation. */
|
||||
@Presubmit @Test fun pipWindowMovesUp() = pipWindowMoves(Direction.UP)
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.Postsubmit
|
||||
import android.platform.test.annotations.RequiresDevice
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import com.android.server.wm.flicker.testapp.ActivityOptions
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -34,7 +34,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class PipDragTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
class PipDragTest(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
private var isDraggedLeft: Boolean = true
|
||||
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
@@ -81,13 +81,11 @@ class PipDragTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Postsubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import android.tools.device.flicker.rules.RemoveAllTasksButHomeRule
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.helpers.setRotation
|
||||
@@ -38,7 +38,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class PipDragThenSnapTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
class PipDragThenSnapTest(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
// represents the direction in which the pip window should be snapping
|
||||
private var willSnapRight: Boolean = true
|
||||
|
||||
@@ -99,15 +99,14 @@ class PipDragThenSnapTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Postsubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -36,7 +36,7 @@ import org.junit.runners.Parameterized
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
@FlakyTest(bugId = 270677470)
|
||||
class PipPinchInTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
class PipPinchInTest(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
override val thisTransition: FlickerBuilder.() -> Unit = {
|
||||
transitions { pipApp.pinchInPipWindow(wmHelper, 0.4f, 30) }
|
||||
}
|
||||
@@ -57,15 +57,14 @@ class PipPinchInTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.rules.RemoveAllTasksButHomeRule.Companion.removeAllTasksButHome
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
import com.android.server.wm.flicker.helpers.PipAppHelper
|
||||
@@ -32,7 +32,7 @@ import com.android.wm.shell.flicker.BaseTest
|
||||
import com.google.common.truth.Truth
|
||||
import org.junit.Test
|
||||
|
||||
abstract class PipTransition(flicker: FlickerTest) : BaseTest(flicker) {
|
||||
abstract class PipTransition(flicker: LegacyFlickerTest) : BaseTest(flicker) {
|
||||
protected val pipApp = PipAppHelper(instrumentation)
|
||||
protected val displayBounds = WindowUtils.getDisplayBounds(flicker.scenario.startRotation)
|
||||
protected val broadcastActionTrigger = BroadcastActionTrigger(instrumentation)
|
||||
@@ -78,16 +78,16 @@ abstract class PipTransition(flicker: FlickerTest) : BaseTest(flicker) {
|
||||
/** Defines the default method of entering PiP */
|
||||
protected open val defaultEnterPip: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
pipApp.launchViaIntentAndWaitForPip(wmHelper,
|
||||
stringExtras = mapOf(ActivityOptions.Pip.EXTRA_ENTER_PIP to "true"))
|
||||
pipApp.launchViaIntentAndWaitForPip(
|
||||
wmHelper,
|
||||
stringExtras = mapOf(ActivityOptions.Pip.EXTRA_ENTER_PIP to "true")
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
/** Defines the default teardown required to clean up after the test */
|
||||
protected open val defaultTeardown: FlickerBuilder.() -> Unit = {
|
||||
teardown {
|
||||
pipApp.exit(wmHelper)
|
||||
}
|
||||
teardown { pipApp.exit(wmHelper) }
|
||||
}
|
||||
|
||||
@Presubmit
|
||||
|
||||
@@ -21,10 +21,11 @@ import android.platform.test.annotations.FlakyTest
|
||||
import android.platform.test.annotations.Postsubmit
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.common.flicker.assertions.FlickerTest
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.testapp.ActivityOptions
|
||||
@@ -46,7 +47,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class SetRequestedOrientationWhilePinned(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
open class SetRequestedOrientationWhilePinned(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
private val startingBounds = WindowUtils.getDisplayBounds(Rotation.ROTATION_0)
|
||||
private val endingBounds = WindowUtils.getDisplayBounds(Rotation.ROTATION_90)
|
||||
|
||||
@@ -69,20 +70,19 @@ open class SetRequestedOrientationWhilePinned(flicker: FlickerTest) : PipTransit
|
||||
setup {
|
||||
// Launch the PiP activity fixed as landscape.
|
||||
pipApp.launchViaIntent(
|
||||
wmHelper,
|
||||
stringExtras =
|
||||
mapOf(EXTRA_FIXED_ORIENTATION to ORIENTATION_LANDSCAPE.toString())
|
||||
wmHelper,
|
||||
stringExtras = mapOf(EXTRA_FIXED_ORIENTATION to ORIENTATION_LANDSCAPE.toString())
|
||||
)
|
||||
// Enter PiP.
|
||||
broadcastActionTrigger.doAction(ActivityOptions.Pip.ACTION_ENTER_PIP)
|
||||
// System bar may fade out during fixed rotation.
|
||||
wmHelper
|
||||
.StateSyncBuilder()
|
||||
.withPipShown()
|
||||
.withRotation(Rotation.ROTATION_0)
|
||||
.withNavOrTaskBarVisible()
|
||||
.withStatusBarVisible()
|
||||
.waitForAndVerify()
|
||||
.StateSyncBuilder()
|
||||
.withPipShown()
|
||||
.withRotation(Rotation.ROTATION_0)
|
||||
.withNavOrTaskBarVisible()
|
||||
.withStatusBarVisible()
|
||||
.waitForAndVerify()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ open class SetRequestedOrientationWhilePinned(flicker: FlickerTest) : PipTransit
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
return LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedRotations = listOf(Rotation.ROTATION_0)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -17,10 +17,11 @@
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.flicker.assertions.FlickerTest
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.helpers.SimpleAppHelper
|
||||
@@ -58,7 +59,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class ShowPipAndRotateDisplay(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
open class ShowPipAndRotateDisplay(flicker: LegacyFlickerTest) : PipTransition(flicker) {
|
||||
private val testApp = SimpleAppHelper(instrumentation)
|
||||
private val screenBoundsStart = WindowUtils.getDisplayBounds(flicker.scenario.startRotation)
|
||||
private val screenBoundsEnd = WindowUtils.getDisplayBounds(flicker.scenario.endRotation)
|
||||
@@ -154,13 +155,13 @@ open class ShowPipAndRotateDisplay(flicker: FlickerTest) : PipTransition(flicker
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring repetitions, screen orientation
|
||||
* and navigation modes.
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring repetitions, screen
|
||||
* orientation and navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.rotationTests()
|
||||
return LegacyFlickerTestFactory.rotationTests()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,9 +16,10 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.tools.common.flicker.assertions.FlickerTest
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -27,18 +28,18 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class ShowPipAndRotateDisplayCfArm(flicker: FlickerTest) : ShowPipAndRotateDisplay(flicker) {
|
||||
class ShowPipAndRotateDisplayCfArm(flicker: LegacyFlickerTest) : ShowPipAndRotateDisplay(flicker) {
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring repetitions, screen orientation
|
||||
* and navigation modes.
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring repetitions, screen
|
||||
* orientation and navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.rotationTests()
|
||||
return LegacyFlickerTestFactory.rotationTests()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,8 +23,8 @@ import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.common.traces.component.EdgeExtensionComponentMatcher
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT
|
||||
@@ -51,7 +51,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class CopyContentInSplit(override val flicker: FlickerTest) :
|
||||
class CopyContentInSplit(override val flicker: LegacyFlickerTest) :
|
||||
CopyContentInSplitBenchmark(flicker), ICommonAssertions {
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -136,8 +136,6 @@ class CopyContentInSplit(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ import android.platform.test.annotations.Postsubmit
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
@@ -47,7 +47,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class DismissSplitScreenByDivider(override val flicker: FlickerTest) :
|
||||
class DismissSplitScreenByDivider(override val flicker: LegacyFlickerTest) :
|
||||
DismissSplitScreenByDividerBenchmark(flicker), ICommonAssertions {
|
||||
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.FlakyTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.appWindowBecomesInvisible
|
||||
@@ -44,7 +44,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class DismissSplitScreenByGoHome(override val flicker: FlickerTest) :
|
||||
class DismissSplitScreenByGoHome(override val flicker: LegacyFlickerTest) :
|
||||
DismissSplitScreenByGoHomeBenchmark(flicker), ICommonAssertions {
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -154,8 +154,6 @@ class DismissSplitScreenByGoHome(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.PlatinumTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT
|
||||
@@ -49,7 +49,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class DragDividerToResize(override val flicker: FlickerTest) :
|
||||
class DragDividerToResize(override val flicker: LegacyFlickerTest) :
|
||||
DragDividerToResizeBenchmark(flicker), ICommonAssertions {
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -127,8 +127,6 @@ class DragDividerToResize(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,8 +22,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT
|
||||
@@ -51,7 +51,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class EnterSplitScreenByDragFromAllApps(override val flicker: FlickerTest) :
|
||||
class EnterSplitScreenByDragFromAllApps(override val flicker: LegacyFlickerTest) :
|
||||
EnterSplitScreenByDragFromAllAppsBenchmark(flicker), ICommonAssertions {
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -160,11 +160,10 @@ class EnterSplitScreenByDragFromAllApps(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,8 +22,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT
|
||||
@@ -50,7 +50,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class EnterSplitScreenByDragFromNotification(override val flicker: FlickerTest) :
|
||||
class EnterSplitScreenByDragFromNotification(override val flicker: LegacyFlickerTest) :
|
||||
EnterSplitScreenByDragFromNotificationBenchmark(flicker), ICommonAssertions {
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
@@ -162,11 +162,10 @@ class EnterSplitScreenByDragFromNotification(override val flicker: FlickerTest)
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.appWindowIsVisibleAtEnd
|
||||
@@ -47,7 +47,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class EnterSplitScreenByDragFromShortcut(override val flicker: FlickerTest) :
|
||||
class EnterSplitScreenByDragFromShortcut(override val flicker: LegacyFlickerTest) :
|
||||
EnterSplitScreenByDragFromShortcutBenchmark(flicker), ICommonAssertions {
|
||||
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
@@ -105,11 +105,10 @@ class EnterSplitScreenByDragFromShortcut(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,8 +22,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT
|
||||
@@ -51,7 +51,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class EnterSplitScreenByDragFromTaskbar(override val flicker: FlickerTest) :
|
||||
class EnterSplitScreenByDragFromTaskbar(override val flicker: LegacyFlickerTest) :
|
||||
EnterSplitScreenByDragFromTaskbarBenchmark(flicker), ICommonAssertions {
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
@@ -163,10 +163,9 @@ class EnterSplitScreenByDragFromTaskbar(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.FlakyTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.appWindowBecomesVisible
|
||||
@@ -46,7 +46,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class EnterSplitScreenFromOverview(override val flicker: FlickerTest) :
|
||||
class EnterSplitScreenFromOverview(override val flicker: LegacyFlickerTest) :
|
||||
EnterSplitScreenFromOverviewBenchmark(flicker), ICommonAssertions {
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -106,8 +106,6 @@ class EnterSplitScreenFromOverview(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,11 +18,11 @@ package com.android.wm.shell.flicker.splitscreen
|
||||
|
||||
import android.content.Context
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import com.android.server.wm.flicker.helpers.setRotation
|
||||
import com.android.wm.shell.flicker.BaseBenchmarkTest
|
||||
|
||||
abstract class SplitScreenBase(flicker: FlickerTest) : BaseBenchmarkTest(flicker) {
|
||||
abstract class SplitScreenBase(flicker: LegacyFlickerTest) : BaseBenchmarkTest(flicker) {
|
||||
protected val context: Context = instrumentation.context
|
||||
protected val primaryApp = SplitScreenUtils.getPrimary(instrumentation)
|
||||
protected val secondaryApp = SplitScreenUtils.getSecondary(instrumentation)
|
||||
|
||||
@@ -22,8 +22,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT
|
||||
@@ -50,7 +50,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class SwitchAppByDoubleTapDivider(override val flicker: FlickerTest) :
|
||||
class SwitchAppByDoubleTapDivider(override val flicker: LegacyFlickerTest) :
|
||||
SwitchAppByDoubleTapDividerBenchmark(flicker), ICommonAssertions {
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -120,11 +120,10 @@ class SwitchAppByDoubleTapDivider(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.appWindowBecomesVisible
|
||||
@@ -45,7 +45,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class SwitchBackToSplitFromAnotherApp(override val flicker: FlickerTest) :
|
||||
class SwitchBackToSplitFromAnotherApp(override val flicker: LegacyFlickerTest) :
|
||||
SwitchBackToSplitFromAnotherAppBenchmark(flicker), ICommonAssertions {
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -149,11 +149,10 @@ class SwitchBackToSplitFromAnotherApp(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.appWindowBecomesVisible
|
||||
@@ -45,7 +45,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class SwitchBackToSplitFromHome(override val flicker: FlickerTest) :
|
||||
class SwitchBackToSplitFromHome(override val flicker: LegacyFlickerTest) :
|
||||
SwitchBackToSplitFromHomeBenchmark(flicker), ICommonAssertions {
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -149,11 +149,10 @@ class SwitchBackToSplitFromHome(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.appWindowBecomesVisible
|
||||
@@ -45,7 +45,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class SwitchBackToSplitFromRecent(override val flicker: FlickerTest) :
|
||||
class SwitchBackToSplitFromRecent(override val flicker: LegacyFlickerTest) :
|
||||
SwitchBackToSplitFromRecentBenchmark(flicker), ICommonAssertions {
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -149,11 +149,10 @@ class SwitchBackToSplitFromRecent(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.PlatinumTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT
|
||||
@@ -53,7 +53,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class SwitchBetweenSplitPairs(override val flicker: FlickerTest) :
|
||||
class SwitchBetweenSplitPairs(override val flicker: LegacyFlickerTest) :
|
||||
SwitchBetweenSplitPairsBenchmark(flicker), ICommonAssertions {
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -223,8 +223,6 @@ class SwitchBetweenSplitPairs(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.tools.common.NavBar
|
||||
import android.tools.common.flicker.subject.region.RegionSubject
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.ICommonAssertions
|
||||
import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT
|
||||
@@ -37,7 +37,8 @@ import org.junit.runners.MethodSorters
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
/**
|
||||
* Test unlocking insecure keyguard to back to split screen tasks and verify the transition behavior.
|
||||
* Test unlocking insecure keyguard to back to split screen tasks and verify the transition
|
||||
* behavior.
|
||||
*
|
||||
* To run this test: `atest WMShellFlickerTestsSplitScreen:UnlockKeyguardToSplitScreen`
|
||||
*/
|
||||
@@ -46,8 +47,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class UnlockKeyguardToSplitScreen(override val flicker: FlickerTest) :
|
||||
UnlockKeyguardToSplitScreenBenchmark(flicker), ICommonAssertions {
|
||||
class UnlockKeyguardToSplitScreen(override val flicker: LegacyFlickerTest) :
|
||||
UnlockKeyguardToSplitScreenBenchmark(flicker), ICommonAssertions {
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -65,33 +66,35 @@ class UnlockKeyguardToSplitScreen(override val flicker: FlickerTest) :
|
||||
|
||||
@Test
|
||||
fun primaryAppBoundsIsVisibleAtEnd() =
|
||||
flicker.splitAppLayerBoundsIsVisibleAtEnd(
|
||||
primaryApp,
|
||||
landscapePosLeft = false,
|
||||
portraitPosTop = false
|
||||
)
|
||||
flicker.splitAppLayerBoundsIsVisibleAtEnd(
|
||||
primaryApp,
|
||||
landscapePosLeft = false,
|
||||
portraitPosTop = false
|
||||
)
|
||||
|
||||
@Test
|
||||
fun secondaryAppBoundsIsVisibleAtEnd() =
|
||||
flicker.splitAppLayerBoundsIsVisibleAtEnd(
|
||||
secondaryApp,
|
||||
landscapePosLeft = true,
|
||||
portraitPosTop = true
|
||||
)
|
||||
flicker.splitAppLayerBoundsIsVisibleAtEnd(
|
||||
secondaryApp,
|
||||
landscapePosLeft = true,
|
||||
portraitPosTop = true
|
||||
)
|
||||
|
||||
@Test
|
||||
fun primaryAppWindowIsVisibleAtEnd() = flicker.appWindowIsVisibleAtEnd(primaryApp)
|
||||
@Test fun primaryAppWindowIsVisibleAtEnd() = flicker.appWindowIsVisibleAtEnd(primaryApp)
|
||||
|
||||
@Test
|
||||
fun secondaryAppWindowIsVisibleAtEnd() = flicker.appWindowIsVisibleAtEnd(secondaryApp)
|
||||
@Test fun secondaryAppWindowIsVisibleAtEnd() = flicker.appWindowIsVisibleAtEnd(secondaryApp)
|
||||
|
||||
@Test
|
||||
fun notOverlapsForPrimaryAndSecondaryAppLayers() {
|
||||
flicker.assertLayers {
|
||||
this.invoke("notOverlapsForPrimaryAndSecondaryLayers") {
|
||||
val primaryAppRegions = it.subjects.filter { subject ->
|
||||
subject.name.contains(primaryApp.toLayerName()) && subject.isVisible
|
||||
}.mapNotNull { primaryApp -> primaryApp.layer.visibleRegion }.toTypedArray()
|
||||
val primaryAppRegions =
|
||||
it.subjects
|
||||
.filter { subject ->
|
||||
subject.name.contains(primaryApp.toLayerName()) && subject.isVisible
|
||||
}
|
||||
.mapNotNull { primaryApp -> primaryApp.layer.visibleRegion }
|
||||
.toTypedArray()
|
||||
|
||||
val primaryAppRegionArea = RegionSubject(primaryAppRegions, it.timestamp)
|
||||
it.visibleRegion(secondaryApp).notOverlaps(primaryAppRegionArea.region)
|
||||
@@ -102,10 +105,9 @@ class UnlockKeyguardToSplitScreen(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenUtils
|
||||
@@ -36,7 +36,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class CopyContentInSplitBenchmark(override val flicker: FlickerTest) :
|
||||
open class CopyContentInSplitBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
protected val textEditApp = SplitScreenUtils.getIme(instrumentation)
|
||||
protected val magnifierLayer = ComponentNameMatcher("", "magnifier surface bbq wrapper#")
|
||||
@@ -72,8 +72,6 @@ open class CopyContentInSplitBenchmark(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.PlatinumTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitScreenDismissed
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
@@ -36,7 +36,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class DismissSplitScreenByDividerBenchmark(flicker: FlickerTest) : SplitScreenBase(flicker) {
|
||||
open class DismissSplitScreenByDividerBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
protected val thisTransition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
setup { SplitScreenUtils.enterSplit(wmHelper, tapl, device, primaryApp, secondaryApp) }
|
||||
@@ -76,8 +77,6 @@ open class DismissSplitScreenByDividerBenchmark(flicker: FlickerTest) : SplitScr
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.PlatinumTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitScreenDismissed
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
@@ -36,7 +36,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class DismissSplitScreenByGoHomeBenchmark(override val flicker: FlickerTest) :
|
||||
open class DismissSplitScreenByGoHomeBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
protected val thisTransition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -63,8 +63,6 @@ open class DismissSplitScreenByGoHomeBenchmark(override val flicker: FlickerTest
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.PlatinumTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenUtils
|
||||
@@ -37,7 +37,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class DragDividerToResizeBenchmark(override val flicker: FlickerTest) :
|
||||
open class DragDividerToResizeBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
protected val thisTransition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -69,8 +69,6 @@ open class DragDividerToResizeBenchmark(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitScreenEntered
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
@@ -39,7 +39,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class EnterSplitScreenByDragFromAllAppsBenchmark(override val flicker: FlickerTest) :
|
||||
open class EnterSplitScreenByDragFromAllAppsBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
|
||||
protected val thisTransition: FlickerBuilder.() -> Unit
|
||||
@@ -84,11 +84,10 @@ open class EnterSplitScreenByDragFromAllAppsBenchmark(override val flicker: Flic
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitScreenEntered
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
@@ -39,8 +39,9 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class EnterSplitScreenByDragFromNotificationBenchmark(override val flicker: FlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
open class EnterSplitScreenByDragFromNotificationBenchmark(
|
||||
override val flicker: LegacyFlickerTest
|
||||
) : SplitScreenBase(flicker) {
|
||||
protected val sendNotificationApp = SplitScreenUtils.getSendNotification(instrumentation)
|
||||
protected val thisTransition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -81,11 +82,10 @@ open class EnterSplitScreenByDragFromNotificationBenchmark(override val flicker:
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitScreenEntered
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
@@ -39,7 +39,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class EnterSplitScreenByDragFromShortcutBenchmark(flicker: FlickerTest) :
|
||||
open class EnterSplitScreenByDragFromShortcutBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
@Before
|
||||
fun before() {
|
||||
@@ -84,11 +84,10 @@ open class EnterSplitScreenByDragFromShortcutBenchmark(flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitScreenEntered
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
@@ -39,7 +39,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class EnterSplitScreenByDragFromTaskbarBenchmark(override val flicker: FlickerTest) :
|
||||
open class EnterSplitScreenByDragFromTaskbarBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
protected val thisTransition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -84,10 +84,9 @@ open class EnterSplitScreenByDragFromTaskbarBenchmark(override val flicker: Flic
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.PlatinumTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitScreenEntered
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
@@ -36,7 +36,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class EnterSplitScreenFromOverviewBenchmark(override val flicker: FlickerTest) :
|
||||
open class EnterSplitScreenFromOverviewBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
protected val thisTransition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -72,8 +72,6 @@ open class EnterSplitScreenFromOverviewBenchmark(override val flicker: FlickerTe
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,8 +22,8 @@ import android.tools.common.NavBar
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
import android.tools.device.traces.parsers.WindowManagerStateHelper
|
||||
import androidx.test.filters.RequiresDevice
|
||||
@@ -39,7 +39,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class SwitchAppByDoubleTapDividerBenchmark(override val flicker: FlickerTest) :
|
||||
open class SwitchAppByDoubleTapDividerBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
protected val thisTransition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -145,11 +145,10 @@ open class SwitchAppByDoubleTapDividerBenchmark(override val flicker: FlickerTes
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitScreenEntered
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
@@ -37,7 +37,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class SwitchBackToSplitFromAnotherAppBenchmark(override val flicker: FlickerTest) :
|
||||
open class SwitchBackToSplitFromAnotherAppBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
private val thirdApp = SplitScreenUtils.getNonResizeable(instrumentation)
|
||||
|
||||
@@ -71,11 +71,10 @@ open class SwitchBackToSplitFromAnotherAppBenchmark(override val flicker: Flicke
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitScreenEntered
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
@@ -37,7 +37,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class SwitchBackToSplitFromHomeBenchmark(override val flicker: FlickerTest) :
|
||||
open class SwitchBackToSplitFromHomeBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
protected val thisTransition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -69,11 +69,10 @@ open class SwitchBackToSplitFromHomeBenchmark(override val flicker: FlickerTest)
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitScreenEntered
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
@@ -37,7 +37,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class SwitchBackToSplitFromRecentBenchmark(override val flicker: FlickerTest) :
|
||||
open class SwitchBackToSplitFromRecentBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
protected val thisTransition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -69,11 +69,10 @@ open class SwitchBackToSplitFromRecentBenchmark(override val flicker: FlickerTes
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
// TODO(b/176061063):The 3 buttons of nav bar do not exist in the hierarchy.
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.PlatinumTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenUtils
|
||||
@@ -35,7 +35,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class SwitchBetweenSplitPairsBenchmark(override val flicker: FlickerTest) :
|
||||
open class SwitchBetweenSplitPairsBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
protected val thirdApp = SplitScreenUtils.getIme(instrumentation)
|
||||
protected val fourthApp = SplitScreenUtils.getSendNotification(instrumentation)
|
||||
@@ -70,8 +70,6 @@ open class SwitchBetweenSplitPairsBenchmark(override val flicker: FlickerTest) :
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,8 +19,8 @@ package com.android.wm.shell.flicker.splitscreen.benchmark
|
||||
import android.tools.common.NavBar
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenBase
|
||||
import com.android.wm.shell.flicker.splitscreen.SplitScreenUtils
|
||||
@@ -33,8 +33,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class UnlockKeyguardToSplitScreenBenchmark(override val flicker: FlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
open class UnlockKeyguardToSplitScreenBenchmark(override val flicker: LegacyFlickerTest) :
|
||||
SplitScreenBase(flicker) {
|
||||
protected val thisTransition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
setup { SplitScreenUtils.enterSplit(wmHelper, tapl, device, primaryApp, secondaryApp) }
|
||||
@@ -58,10 +58,9 @@ open class UnlockKeyguardToSplitScreenBenchmark(override val flicker: FlickerTes
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests(
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
fun getParams() =
|
||||
LegacyFlickerTestFactory.nonRotationTests(
|
||||
supportedNavigationModes = listOf(NavBar.MODE_GESTURAL)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.junit.FlickerBuilderProvider
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.util.Log
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.launcher3.tapl.LauncherInstrumentation
|
||||
@@ -37,7 +37,7 @@ import org.junit.Test
|
||||
abstract class BaseTest
|
||||
@JvmOverloads
|
||||
constructor(
|
||||
protected val flicker: FlickerTest,
|
||||
protected val flicker: LegacyFlickerTest,
|
||||
protected val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation(),
|
||||
protected val tapl: LauncherInstrumentation = LauncherInstrumentation()
|
||||
) {
|
||||
|
||||
@@ -23,14 +23,14 @@ import android.tools.common.flicker.subject.region.RegionSubject
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.common.traces.component.IComponentNameMatcher
|
||||
import android.tools.common.traces.wm.WindowManagerTrace
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.helpers.WindowUtils
|
||||
|
||||
/**
|
||||
* Checks that [ComponentNameMatcher.STATUS_BAR] window is visible and above the app windows in all
|
||||
* WM trace entries
|
||||
*/
|
||||
fun FlickerTest.statusBarWindowIsAlwaysVisible() {
|
||||
fun LegacyFlickerTest.statusBarWindowIsAlwaysVisible() {
|
||||
assertWm { this.isAboveAppWindowVisible(ComponentNameMatcher.STATUS_BAR) }
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ fun FlickerTest.statusBarWindowIsAlwaysVisible() {
|
||||
* Checks that [ComponentNameMatcher.NAV_BAR] window is visible and above the app windows in all WM
|
||||
* trace entries
|
||||
*/
|
||||
fun FlickerTest.navBarWindowIsAlwaysVisible() {
|
||||
fun LegacyFlickerTest.navBarWindowIsAlwaysVisible() {
|
||||
assertWm { this.isAboveAppWindowVisible(ComponentNameMatcher.NAV_BAR) }
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ fun FlickerTest.navBarWindowIsAlwaysVisible() {
|
||||
* Checks that [ComponentNameMatcher.NAV_BAR] window is visible and above the app windows at the
|
||||
* start and end of the WM trace
|
||||
*/
|
||||
fun FlickerTest.navBarWindowIsVisibleAtStartAndEnd() {
|
||||
fun LegacyFlickerTest.navBarWindowIsVisibleAtStartAndEnd() {
|
||||
this.navBarWindowIsVisibleAtStart()
|
||||
this.navBarWindowIsVisibleAtEnd()
|
||||
}
|
||||
@@ -55,7 +55,7 @@ fun FlickerTest.navBarWindowIsVisibleAtStartAndEnd() {
|
||||
* Checks that [ComponentNameMatcher.NAV_BAR] window is visible and above the app windows at the
|
||||
* start of the WM trace
|
||||
*/
|
||||
fun FlickerTest.navBarWindowIsVisibleAtStart() {
|
||||
fun LegacyFlickerTest.navBarWindowIsVisibleAtStart() {
|
||||
assertWmStart { this.isAboveAppWindowVisible(ComponentNameMatcher.NAV_BAR) }
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ fun FlickerTest.navBarWindowIsVisibleAtStart() {
|
||||
* Checks that [ComponentNameMatcher.NAV_BAR] window is visible and above the app windows at the end
|
||||
* of the WM trace
|
||||
*/
|
||||
fun FlickerTest.navBarWindowIsVisibleAtEnd() {
|
||||
fun LegacyFlickerTest.navBarWindowIsVisibleAtEnd() {
|
||||
assertWmEnd { this.isAboveAppWindowVisible(ComponentNameMatcher.NAV_BAR) }
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ fun FlickerTest.navBarWindowIsVisibleAtEnd() {
|
||||
* Checks that [ComponentNameMatcher.TASK_BAR] window is visible and above the app windows in all WM
|
||||
* trace entries
|
||||
*/
|
||||
fun FlickerTest.taskBarWindowIsAlwaysVisible() {
|
||||
fun LegacyFlickerTest.taskBarWindowIsAlwaysVisible() {
|
||||
assertWm { this.isAboveAppWindowVisible(ComponentNameMatcher.TASK_BAR) }
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ fun FlickerTest.taskBarWindowIsAlwaysVisible() {
|
||||
* Checks that [ComponentNameMatcher.TASK_BAR] window is visible and above the app windows in all WM
|
||||
* trace entries
|
||||
*/
|
||||
fun FlickerTest.taskBarWindowIsVisibleAtEnd() {
|
||||
fun LegacyFlickerTest.taskBarWindowIsVisibleAtEnd() {
|
||||
assertWmEnd { this.isAboveAppWindowVisible(ComponentNameMatcher.TASK_BAR) }
|
||||
}
|
||||
|
||||
@@ -93,43 +93,45 @@ fun FlickerTest.taskBarWindowIsVisibleAtEnd() {
|
||||
* @param allStates if all states should be checked, othersie, just initial and final
|
||||
*/
|
||||
@JvmOverloads
|
||||
fun FlickerTest.entireScreenCovered(allStates: Boolean = true) {
|
||||
fun LegacyFlickerTest.entireScreenCovered(allStates: Boolean = true) {
|
||||
if (allStates) {
|
||||
assertLayers {
|
||||
this.invoke("entireScreenCovered") { entry ->
|
||||
entry.entry.displays.filter { it.isOn }.forEach { display ->
|
||||
entry.visibleRegion().coversAtLeast(display.layerStackSpace)
|
||||
}
|
||||
entry.entry.displays
|
||||
.filter { it.isOn }
|
||||
.forEach { display ->
|
||||
entry.visibleRegion().coversAtLeast(display.layerStackSpace)
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
assertLayersStart {
|
||||
this.entry.displays.filter { it.isOn }.forEach { display ->
|
||||
this.visibleRegion().coversAtLeast(display.layerStackSpace)
|
||||
}
|
||||
this.entry.displays
|
||||
.filter { it.isOn }
|
||||
.forEach { display -> this.visibleRegion().coversAtLeast(display.layerStackSpace) }
|
||||
}
|
||||
assertLayersEnd {
|
||||
this.entry.displays.filter { it.isOn }.forEach { display ->
|
||||
this.visibleRegion().coversAtLeast(display.layerStackSpace)
|
||||
}
|
||||
this.entry.displays
|
||||
.filter { it.isOn }
|
||||
.forEach { display -> this.visibleRegion().coversAtLeast(display.layerStackSpace) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Checks that [ComponentNameMatcher.NAV_BAR] layer is visible at the start of the SF trace */
|
||||
fun FlickerTest.navBarLayerIsVisibleAtStart() {
|
||||
fun LegacyFlickerTest.navBarLayerIsVisibleAtStart() {
|
||||
assertLayersStart { this.isVisible(ComponentNameMatcher.NAV_BAR) }
|
||||
}
|
||||
|
||||
/** Checks that [ComponentNameMatcher.NAV_BAR] layer is visible at the end of the SF trace */
|
||||
fun FlickerTest.navBarLayerIsVisibleAtEnd() {
|
||||
fun LegacyFlickerTest.navBarLayerIsVisibleAtEnd() {
|
||||
assertLayersEnd { this.isVisible(ComponentNameMatcher.NAV_BAR) }
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks that [ComponentNameMatcher.NAV_BAR] layer is visible at the start and end of the SF trace
|
||||
*/
|
||||
fun FlickerTest.navBarLayerIsVisibleAtStartAndEnd() {
|
||||
fun LegacyFlickerTest.navBarLayerIsVisibleAtStartAndEnd() {
|
||||
this.navBarLayerIsVisibleAtStart()
|
||||
this.navBarLayerIsVisibleAtEnd()
|
||||
}
|
||||
@@ -137,18 +139,18 @@ fun FlickerTest.navBarLayerIsVisibleAtStartAndEnd() {
|
||||
/**
|
||||
* Checks that [ComponentNameMatcher.TASK_BAR] layer is visible at the start and end of the SF trace
|
||||
*/
|
||||
fun FlickerTest.taskBarLayerIsVisibleAtStartAndEnd() {
|
||||
fun LegacyFlickerTest.taskBarLayerIsVisibleAtStartAndEnd() {
|
||||
this.taskBarLayerIsVisibleAtStart()
|
||||
this.taskBarLayerIsVisibleAtEnd()
|
||||
}
|
||||
|
||||
/** Checks that [ComponentNameMatcher.TASK_BAR] layer is visible at the start of the SF trace */
|
||||
fun FlickerTest.taskBarLayerIsVisibleAtStart() {
|
||||
fun LegacyFlickerTest.taskBarLayerIsVisibleAtStart() {
|
||||
assertLayersStart { this.isVisible(ComponentNameMatcher.TASK_BAR) }
|
||||
}
|
||||
|
||||
/** Checks that [ComponentNameMatcher.TASK_BAR] layer is visible at the end of the SF trace */
|
||||
fun FlickerTest.taskBarLayerIsVisibleAtEnd() {
|
||||
fun LegacyFlickerTest.taskBarLayerIsVisibleAtEnd() {
|
||||
assertLayersEnd { this.isVisible(ComponentNameMatcher.TASK_BAR) }
|
||||
}
|
||||
|
||||
@@ -156,7 +158,7 @@ fun FlickerTest.taskBarLayerIsVisibleAtEnd() {
|
||||
* Checks that [ComponentNameMatcher.STATUS_BAR] layer is visible at the start and end of the SF
|
||||
* trace
|
||||
*/
|
||||
fun FlickerTest.statusBarLayerIsVisibleAtStartAndEnd() {
|
||||
fun LegacyFlickerTest.statusBarLayerIsVisibleAtStartAndEnd() {
|
||||
assertLayersStart { this.isVisible(ComponentNameMatcher.STATUS_BAR) }
|
||||
assertLayersEnd { this.isVisible(ComponentNameMatcher.STATUS_BAR) }
|
||||
}
|
||||
@@ -165,7 +167,7 @@ fun FlickerTest.statusBarLayerIsVisibleAtStartAndEnd() {
|
||||
* Asserts that the [ComponentNameMatcher.NAV_BAR] layer is at the correct position at the start of
|
||||
* the SF trace
|
||||
*/
|
||||
fun FlickerTest.navBarLayerPositionAtStart() {
|
||||
fun LegacyFlickerTest.navBarLayerPositionAtStart() {
|
||||
assertLayersStart {
|
||||
val display =
|
||||
this.entry.displays.firstOrNull { !it.isVirtual } ?: error("There is no display!")
|
||||
@@ -180,7 +182,7 @@ fun FlickerTest.navBarLayerPositionAtStart() {
|
||||
* Asserts that the [ComponentNameMatcher.NAV_BAR] layer is at the correct position at the end of
|
||||
* the SF trace
|
||||
*/
|
||||
fun FlickerTest.navBarLayerPositionAtEnd() {
|
||||
fun LegacyFlickerTest.navBarLayerPositionAtEnd() {
|
||||
assertLayersEnd {
|
||||
val display =
|
||||
this.entry.displays.minByOrNull { it.id }
|
||||
@@ -196,7 +198,7 @@ fun FlickerTest.navBarLayerPositionAtEnd() {
|
||||
* Asserts that the [ComponentNameMatcher.NAV_BAR] layer is at the correct position at the start and
|
||||
* end of the SF trace
|
||||
*/
|
||||
fun FlickerTest.navBarLayerPositionAtStartAndEnd() {
|
||||
fun LegacyFlickerTest.navBarLayerPositionAtStartAndEnd() {
|
||||
navBarLayerPositionAtStart()
|
||||
navBarLayerPositionAtEnd()
|
||||
}
|
||||
@@ -205,7 +207,7 @@ fun FlickerTest.navBarLayerPositionAtStartAndEnd() {
|
||||
* Asserts that the [ComponentNameMatcher.STATUS_BAR] layer is at the correct position at the start
|
||||
* of the SF trace
|
||||
*/
|
||||
fun FlickerTest.statusBarLayerPositionAtStart(
|
||||
fun LegacyFlickerTest.statusBarLayerPositionAtStart(
|
||||
wmTrace: WindowManagerTrace? = this.reader.readWmTrace()
|
||||
) {
|
||||
// collect navbar position for the equivalent WM state
|
||||
@@ -221,7 +223,7 @@ fun FlickerTest.statusBarLayerPositionAtStart(
|
||||
* Asserts that the [ComponentNameMatcher.STATUS_BAR] layer is at the correct position at the end of
|
||||
* the SF trace
|
||||
*/
|
||||
fun FlickerTest.statusBarLayerPositionAtEnd(
|
||||
fun LegacyFlickerTest.statusBarLayerPositionAtEnd(
|
||||
wmTrace: WindowManagerTrace? = this.reader.readWmTrace()
|
||||
) {
|
||||
// collect navbar position for the equivalent WM state
|
||||
@@ -237,7 +239,7 @@ fun FlickerTest.statusBarLayerPositionAtEnd(
|
||||
* Asserts that the [ComponentNameMatcher.STATUS_BAR] layer is at the correct position at the start
|
||||
* and end of the SF trace
|
||||
*/
|
||||
fun FlickerTest.statusBarLayerPositionAtStartAndEnd() {
|
||||
fun LegacyFlickerTest.statusBarLayerPositionAtStartAndEnd() {
|
||||
statusBarLayerPositionAtStart()
|
||||
statusBarLayerPositionAtEnd()
|
||||
}
|
||||
@@ -246,7 +248,9 @@ fun FlickerTest.statusBarLayerPositionAtStartAndEnd() {
|
||||
* Asserts that the visibleRegion of the [ComponentNameMatcher.SNAPSHOT] layer can cover the
|
||||
* visibleRegion of the given app component exactly
|
||||
*/
|
||||
fun FlickerTest.snapshotStartingWindowLayerCoversExactlyOnApp(component: IComponentNameMatcher) {
|
||||
fun LegacyFlickerTest.snapshotStartingWindowLayerCoversExactlyOnApp(
|
||||
component: IComponentNameMatcher
|
||||
) {
|
||||
assertLayers {
|
||||
invoke("snapshotStartingWindowLayerCoversExactlyOnApp") {
|
||||
val snapshotLayers =
|
||||
@@ -307,7 +311,7 @@ fun FlickerTest.snapshotStartingWindowLayerCoversExactlyOnApp(component: ICompon
|
||||
* otherwise we won't and the layer must appear immediately.
|
||||
* ```
|
||||
*/
|
||||
fun FlickerTest.replacesLayer(
|
||||
fun LegacyFlickerTest.replacesLayer(
|
||||
originalLayer: IComponentNameMatcher,
|
||||
newLayer: IComponentNameMatcher,
|
||||
ignoreEntriesWithRotationLayer: Boolean = false,
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
package com.android.server.wm.flicker.activityembedding
|
||||
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import com.android.server.wm.flicker.BaseTest
|
||||
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
|
||||
import org.junit.Before
|
||||
|
||||
abstract class ActivityEmbeddingTestBase(flicker: FlickerTest) : BaseTest(flicker) {
|
||||
abstract class ActivityEmbeddingTestBase(flicker: LegacyFlickerTest) : BaseTest(flicker) {
|
||||
val testApp = ActivityEmbeddingAppHelper(instrumentation)
|
||||
|
||||
@Before
|
||||
|
||||
@@ -19,8 +19,8 @@ package com.android.server.wm.flicker.activityembedding
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -32,10 +32,9 @@ import org.junit.runners.Parameterized
|
||||
/**
|
||||
* Test launching a placeholder split over a normal split, both splits are configured in RTL.
|
||||
*
|
||||
* Setup: From A launch a split in RTL - resulting in B|A.
|
||||
* Transitions:
|
||||
* From A start PlaceholderPrimary, which is configured to launch with PlaceholderSecondary in RTL.
|
||||
* Expect split PlaceholderSecondary|PlaceholderPrimary covering split B|A.
|
||||
* Setup: From A launch a split in RTL - resulting in B|A. Transitions: From A start
|
||||
* PlaceholderPrimary, which is configured to launch with PlaceholderSecondary in RTL. Expect split
|
||||
* PlaceholderSecondary|PlaceholderPrimary covering split B|A.
|
||||
*
|
||||
* To run this test: `atest FlickerTests:RTLStartSecondaryWithPlaceholderTest`
|
||||
*/
|
||||
@@ -43,169 +42,165 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class RTLStartSecondaryWithPlaceholderTest(flicker: FlickerTest) :
|
||||
ActivityEmbeddingTestBase(flicker) {
|
||||
class RTLStartSecondaryWithPlaceholderTest(flicker: LegacyFlickerTest) :
|
||||
ActivityEmbeddingTestBase(flicker) {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
tapl.setExpectedRotationCheckEnabled(false)
|
||||
testApp.launchViaIntent(wmHelper)
|
||||
testApp.launchSecondaryActivityRTL(wmHelper)
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
tapl.setExpectedRotationCheckEnabled(false)
|
||||
testApp.launchViaIntent(wmHelper)
|
||||
testApp.launchSecondaryActivityRTL(wmHelper)
|
||||
}
|
||||
transitions { testApp.launchPlaceholderSplitRTL(wmHelper) }
|
||||
teardown {
|
||||
tapl.goHome()
|
||||
testApp.exit(wmHelper)
|
||||
}
|
||||
}
|
||||
transitions {
|
||||
testApp.launchPlaceholderSplitRTL(wmHelper)
|
||||
}
|
||||
teardown {
|
||||
tapl.goHome()
|
||||
testApp.exit(wmHelper)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Main activity and Secondary activity will become invisible because they are covered by
|
||||
* PlaceholderPrimary activity and PlaceholderSecondary activity.
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertWindowVisibilities() {
|
||||
flicker.assertWm {
|
||||
isAppWindowVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isAppWindowInvisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
}
|
||||
flicker.assertWm {
|
||||
isAppWindowVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isAppWindowInvisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
flicker.assertWm {
|
||||
isAppWindowInvisible(ActivityEmbeddingAppHelper.PLACEHOLDER_PRIMARY_COMPONENT)
|
||||
.then()
|
||||
.isAppWindowVisible(ActivityEmbeddingAppHelper.PLACEHOLDER_PRIMARY_COMPONENT)
|
||||
}
|
||||
flicker.assertWm {
|
||||
isAppWindowInvisible(ActivityEmbeddingAppHelper.PLACEHOLDER_SECONDARY_COMPONENT)
|
||||
.then()
|
||||
.isAppWindowVisible(ActivityEmbeddingAppHelper.PLACEHOLDER_SECONDARY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Main activity and Secondary activity will become invisible because they are covered by
|
||||
* PlaceholderPrimary activity and PlaceholderSecondary activity.
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertLayerVisibilities() {
|
||||
flicker.assertLayers {
|
||||
this.isVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isInvisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
}
|
||||
flicker.assertLayers {
|
||||
this.isVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isInvisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
flicker.assertLayers {
|
||||
isInvisible(ActivityEmbeddingAppHelper.PLACEHOLDER_PRIMARY_COMPONENT)
|
||||
.then()
|
||||
.isVisible(ActivityEmbeddingAppHelper.PLACEHOLDER_PRIMARY_COMPONENT)
|
||||
}
|
||||
flicker.assertLayers {
|
||||
isInvisible(ActivityEmbeddingAppHelper.PLACEHOLDER_SECONDARY_COMPONENT)
|
||||
.then()
|
||||
.isVisible(ActivityEmbeddingAppHelper.PLACEHOLDER_SECONDARY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
/** Main activity and Secondary activity split is in right-to-left layout direction. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertWMRTLBeforeTransition() {
|
||||
flicker.assertWmStart {
|
||||
val mainActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
val secondaryActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
mainActivityRegion.notOverlaps(secondaryActivityRegion.region)
|
||||
// secondary activity is on the left, main activity is on the right.
|
||||
check { "isRTLBeforeTransition" }
|
||||
.that(mainActivityRegion.region.bounds.left)
|
||||
.isEqual(secondaryActivityRegion.region.bounds.right)
|
||||
}
|
||||
}
|
||||
|
||||
/** Main activity and Secondary activity split is in right-to-left layout direction. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertLayerRTLBeforeTransition() {
|
||||
flicker.assertLayersStart {
|
||||
val mainActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
val secondaryActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
mainActivityRegion.notOverlaps(secondaryActivityRegion.region)
|
||||
// secondary activity is on the left, main activity is on the right.
|
||||
check { "isRTLBeforeTransition" }
|
||||
.that(mainActivityRegion.region.bounds.left)
|
||||
.isEqual(secondaryActivityRegion.region.bounds.right)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PlaceholderPrimary activity and PlaceholderSecondary activity split are in right-to-left
|
||||
* layout direction.
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertWMRTLAfterTransition() {
|
||||
flicker.assertWmEnd {
|
||||
val mainActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
val secondaryActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
mainActivityRegion.notOverlaps(secondaryActivityRegion.region)
|
||||
// secondary activity is on the left, main activity is on the right.
|
||||
check { "isRTLBeforeTransition" }
|
||||
.that(mainActivityRegion.region.bounds.left)
|
||||
.isEqual(secondaryActivityRegion.region.bounds.right)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PlaceholderPrimary activity and PlaceholderSecondary activity split are in right-to-left
|
||||
* layout direction.
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertLayerRTLAfterTransition() {
|
||||
flicker.assertLayersEnd {
|
||||
val mainActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.PLACEHOLDER_PRIMARY_COMPONENT)
|
||||
val secondaryActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.PLACEHOLDER_SECONDARY_COMPONENT)
|
||||
mainActivityRegion.notOverlaps(secondaryActivityRegion.region)
|
||||
// Placeholder secondary activity is on the left, placeholder primary activity is on the
|
||||
// right.
|
||||
check { "isRTLAfterTransition" }
|
||||
.that(mainActivityRegion.region.bounds.left)
|
||||
.isEqual(secondaryActivityRegion.region.bounds.right)
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
* Main activity and Secondary activity will become invisible because they are covered by
|
||||
* PlaceholderPrimary activity and PlaceholderSecondary activity.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertWindowVisibilities() {
|
||||
flicker.assertWm {
|
||||
isAppWindowVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isAppWindowInvisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
}
|
||||
flicker.assertWm {
|
||||
isAppWindowVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isAppWindowInvisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
flicker.assertWm {
|
||||
isAppWindowInvisible(ActivityEmbeddingAppHelper.PLACEHOLDER_PRIMARY_COMPONENT)
|
||||
.then()
|
||||
.isAppWindowVisible(ActivityEmbeddingAppHelper.PLACEHOLDER_PRIMARY_COMPONENT)
|
||||
}
|
||||
flicker.assertWm {
|
||||
isAppWindowInvisible(ActivityEmbeddingAppHelper.PLACEHOLDER_SECONDARY_COMPONENT)
|
||||
.then()
|
||||
.isAppWindowVisible(ActivityEmbeddingAppHelper.PLACEHOLDER_SECONDARY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Main activity and Secondary activity will become invisible because they are covered by
|
||||
* PlaceholderPrimary activity and PlaceholderSecondary activity.
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertLayerVisibilities() {
|
||||
flicker.assertLayers {
|
||||
this.isVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isInvisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
}
|
||||
flicker.assertLayers {
|
||||
this.isVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isInvisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
flicker.assertLayers {
|
||||
isInvisible(ActivityEmbeddingAppHelper.PLACEHOLDER_PRIMARY_COMPONENT)
|
||||
.then()
|
||||
.isVisible(ActivityEmbeddingAppHelper.PLACEHOLDER_PRIMARY_COMPONENT)
|
||||
}
|
||||
flicker.assertLayers {
|
||||
isInvisible(ActivityEmbeddingAppHelper.PLACEHOLDER_SECONDARY_COMPONENT)
|
||||
.then()
|
||||
.isVisible(ActivityEmbeddingAppHelper.PLACEHOLDER_SECONDARY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
/** Main activity and Secondary activity split is in right-to-left layout direction. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertWMRTLBeforeTransition() {
|
||||
flicker.assertWmStart {
|
||||
val mainActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
val secondaryActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
mainActivityRegion.notOverlaps(secondaryActivityRegion.region)
|
||||
// secondary activity is on the left, main activity is on the right.
|
||||
check { "isRTLBeforeTransition" }
|
||||
.that(mainActivityRegion.region.bounds.left)
|
||||
.isEqual(secondaryActivityRegion.region.bounds.right)
|
||||
}
|
||||
}
|
||||
|
||||
/** Main activity and Secondary activity split is in right-to-left layout direction. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertLayerRTLBeforeTransition() {
|
||||
flicker.assertLayersStart {
|
||||
val mainActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
val secondaryActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
mainActivityRegion.notOverlaps(secondaryActivityRegion.region)
|
||||
// secondary activity is on the left, main activity is on the right.
|
||||
check { "isRTLBeforeTransition" }
|
||||
.that(mainActivityRegion.region.bounds.left)
|
||||
.isEqual(secondaryActivityRegion.region.bounds.right)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PlaceholderPrimary activity and PlaceholderSecondary activity split are in right-to-left
|
||||
* layout direction.
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertWMRTLAfterTransition() {
|
||||
flicker.assertWmEnd {
|
||||
val mainActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
val secondaryActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
mainActivityRegion.notOverlaps(secondaryActivityRegion.region)
|
||||
// secondary activity is on the left, main activity is on the right.
|
||||
check { "isRTLBeforeTransition" }
|
||||
.that(mainActivityRegion.region.bounds.left)
|
||||
.isEqual(secondaryActivityRegion.region.bounds.right)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* PlaceholderPrimary activity and PlaceholderSecondary activity split are in right-to-left
|
||||
* layout direction.
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
fun assertLayerRTLAfterTransition() {
|
||||
flicker.assertLayersEnd {
|
||||
val mainActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.PLACEHOLDER_PRIMARY_COMPONENT)
|
||||
val secondaryActivityRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.PLACEHOLDER_SECONDARY_COMPONENT)
|
||||
mainActivityRegion.notOverlaps(secondaryActivityRegion.region)
|
||||
// Placeholder secondary activity is on the left, placeholder primary activity is on the
|
||||
// right.
|
||||
check { "isRTLAfterTransition" }
|
||||
.that(mainActivityRegion.region.bounds.left)
|
||||
.isEqual(secondaryActivityRegion.region.bounds.right)
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ import android.tools.common.datatypes.Rect
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -34,8 +34,8 @@ import org.junit.runners.Parameterized
|
||||
/**
|
||||
* Test closing a secondary activity in a split.
|
||||
*
|
||||
* Setup: Launch A|B in split with B being the secondary activity.
|
||||
* Transitions: Finish B and expect A to become fullscreen.
|
||||
* Setup: Launch A|B in split with B being the secondary activity. Transitions: Finish B and expect
|
||||
* A to become fullscreen.
|
||||
*
|
||||
* To run this test: `atest FlickerTests:CloseSecondaryActivityInSplitTest`
|
||||
*/
|
||||
@@ -43,95 +43,93 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class CloseSecondaryActivityInSplitTest(flicker: FlickerTest) :
|
||||
ActivityEmbeddingTestBase(flicker) {
|
||||
class CloseSecondaryActivityInSplitTest(flicker: LegacyFlickerTest) :
|
||||
ActivityEmbeddingTestBase(flicker) {
|
||||
|
||||
override val transition: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
tapl.setExpectedRotationCheckEnabled(false)
|
||||
// Launches fullscreen A.
|
||||
testApp.launchViaIntent(wmHelper)
|
||||
// Launches a split A|B and waits for both activities to show.
|
||||
testApp.launchSecondaryActivity(wmHelper)
|
||||
// Get fullscreen bounds
|
||||
startDisplayBounds =
|
||||
wmHelper.currentState.layerState.physicalDisplayBounds ?:
|
||||
error("Can't get display bounds")
|
||||
override val transition: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
tapl.setExpectedRotationCheckEnabled(false)
|
||||
// Launches fullscreen A.
|
||||
testApp.launchViaIntent(wmHelper)
|
||||
// Launches a split A|B and waits for both activities to show.
|
||||
testApp.launchSecondaryActivity(wmHelper)
|
||||
// Get fullscreen bounds
|
||||
startDisplayBounds =
|
||||
wmHelper.currentState.layerState.physicalDisplayBounds
|
||||
?: error("Can't get display bounds")
|
||||
}
|
||||
transitions {
|
||||
// Finish secondary activity B.
|
||||
testApp.finishSecondaryActivity(wmHelper)
|
||||
// Expect the main activity A to expand into fullscreen.
|
||||
wmHelper.StateSyncBuilder().withFullScreenApp(testApp).waitForAndVerify()
|
||||
}
|
||||
teardown {
|
||||
tapl.goHome()
|
||||
testApp.exit(wmHelper)
|
||||
}
|
||||
}
|
||||
transitions {
|
||||
// Finish secondary activity B.
|
||||
testApp.finishSecondaryActivity(wmHelper)
|
||||
// Expect the main activity A to expand into fullscreen.
|
||||
wmHelper.StateSyncBuilder().withFullScreenApp(testApp).waitForAndVerify()
|
||||
}
|
||||
teardown {
|
||||
tapl.goHome()
|
||||
testApp.exit(wmHelper)
|
||||
}
|
||||
}
|
||||
|
||||
/** Main activity is always visible and becomes fullscreen in the end. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun mainActivityWindowBecomesFullScreen() {
|
||||
flicker.assertWm { isAppWindowVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT) }
|
||||
flicker.assertWmEnd {
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
.coversExactly(startDisplayBounds)
|
||||
/** Main activity is always visible and becomes fullscreen in the end. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun mainActivityWindowBecomesFullScreen() {
|
||||
flicker.assertWm { isAppWindowVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT) }
|
||||
flicker.assertWmEnd {
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
.coversExactly(startDisplayBounds)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Main activity surface is animated from split to fullscreen. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun mainActivityLayerIsAlwaysVisible() {
|
||||
flicker.assertLayers {
|
||||
isVisible(
|
||||
ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT.or(
|
||||
ComponentNameMatcher.TRANSITION_SNAPSHOT
|
||||
)
|
||||
)
|
||||
/** Main activity surface is animated from split to fullscreen. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun mainActivityLayerIsAlwaysVisible() {
|
||||
flicker.assertLayers {
|
||||
isVisible(
|
||||
ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT.or(
|
||||
ComponentNameMatcher.TRANSITION_SNAPSHOT
|
||||
)
|
||||
)
|
||||
}
|
||||
flicker.assertLayersEnd {
|
||||
isVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
.isInvisible(ComponentNameMatcher.TRANSITION_SNAPSHOT)
|
||||
}
|
||||
}
|
||||
flicker.assertLayersEnd {
|
||||
isVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
.isInvisible(ComponentNameMatcher.TRANSITION_SNAPSHOT)
|
||||
}
|
||||
}
|
||||
|
||||
/** Secondary activity should destroy and become invisible. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun secondaryActivityWindowFinishes() {
|
||||
flicker.assertWm {
|
||||
contains(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.notContains(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
/** Secondary activity should destroy and become invisible. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun secondaryActivityWindowFinishes() {
|
||||
flicker.assertWm {
|
||||
contains(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.notContains(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Presubmit
|
||||
@Test
|
||||
fun secondaryActivityLayerFinishes() {
|
||||
flicker.assertLayers {
|
||||
isVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isInvisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
@Presubmit
|
||||
@Test
|
||||
fun secondaryActivityLayerFinishes() {
|
||||
flicker.assertLayers {
|
||||
isVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isInvisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
/** {@inheritDoc} */
|
||||
private var startDisplayBounds = Rect.EMPTY
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
companion object {
|
||||
/** {@inheritDoc} */
|
||||
private var startDisplayBounds = Rect.EMPTY
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,10 +17,11 @@
|
||||
package com.android.server.wm.flicker.activityembedding
|
||||
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.datatypes.Rect
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -28,14 +29,12 @@ import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
import org.junit.runners.Parameterized
|
||||
import android.tools.common.datatypes.Rect
|
||||
|
||||
/**
|
||||
* Test launching an activity with AlwaysExpand rule.
|
||||
*
|
||||
* Setup: Launch A|B in split with B being the secondary activity.
|
||||
* Transitions:
|
||||
* A start C with alwaysExpand=true, expect C to launch in fullscreen and cover split A|B.
|
||||
* Setup: Launch A|B in split with B being the secondary activity. Transitions: A start C with
|
||||
* alwaysExpand=true, expect C to launch in fullscreen and cover split A|B.
|
||||
*
|
||||
* To run this test: `atest FlickerTests:MainActivityStartsSecondaryWithAlwaysExpandTest`
|
||||
*/
|
||||
@@ -43,98 +42,93 @@ import android.tools.common.datatypes.Rect
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class MainActivityStartsSecondaryWithAlwaysExpandTest(flicker: FlickerTest) :
|
||||
ActivityEmbeddingTestBase(flicker) {
|
||||
class MainActivityStartsSecondaryWithAlwaysExpandTest(flicker: LegacyFlickerTest) :
|
||||
ActivityEmbeddingTestBase(flicker) {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
tapl.setExpectedRotationCheckEnabled(false)
|
||||
// Launch a split
|
||||
testApp.launchViaIntent(wmHelper)
|
||||
testApp.launchSecondaryActivity(wmHelper)
|
||||
startDisplayBounds =
|
||||
wmHelper.currentState.layerState.physicalDisplayBounds ?: error("Display not found")
|
||||
}
|
||||
transitions {
|
||||
// Launch C with alwaysExpand
|
||||
testApp.launchAlwaysExpandActivity(wmHelper)
|
||||
}
|
||||
teardown {
|
||||
tapl.goHome()
|
||||
testApp.exit(wmHelper)
|
||||
}
|
||||
}
|
||||
|
||||
/** Transition begins with a split. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun startsWithSplit() {
|
||||
flicker.assertWmStart {
|
||||
this.isAppWindowVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
}
|
||||
flicker.assertWmStart {
|
||||
this.isAppWindowVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/** Main activity should become invisible after being covered by always expand activity. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun mainActivityLayerBecomesInvisible() {
|
||||
flicker.assertLayers {
|
||||
isVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isInvisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
/** Secondary activity should become invisible after being covered by always expand activity. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun secondaryActivityLayerBecomesInvisible() {
|
||||
flicker.assertLayers {
|
||||
isVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isInvisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
/** At the end of transition always expand activity is in fullscreen. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun endsWithAlwaysExpandActivityCoveringFullScreen() {
|
||||
flicker.assertWmEnd {
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.ALWAYS_EXPAND_ACTIVITY_COMPONENT)
|
||||
.coversExactly(startDisplayBounds)
|
||||
}
|
||||
}
|
||||
|
||||
/** Always expand activity is on top of the split. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun endsWithAlwaysExpandActivityOnTop() {
|
||||
flicker.assertWmEnd {
|
||||
this.isAppWindowOnTop(
|
||||
ActivityEmbeddingAppHelper.ALWAYS_EXPAND_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
/** {@inheritDoc} */
|
||||
private var startDisplayBounds = Rect.EMPTY
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
override val transition: FlickerBuilder.() -> Unit = {
|
||||
setup {
|
||||
tapl.setExpectedRotationCheckEnabled(false)
|
||||
// Launch a split
|
||||
testApp.launchViaIntent(wmHelper)
|
||||
testApp.launchSecondaryActivity(wmHelper)
|
||||
startDisplayBounds =
|
||||
wmHelper.currentState.layerState.physicalDisplayBounds ?: error("Display not found")
|
||||
}
|
||||
transitions {
|
||||
// Launch C with alwaysExpand
|
||||
testApp.launchAlwaysExpandActivity(wmHelper)
|
||||
}
|
||||
teardown {
|
||||
tapl.goHome()
|
||||
testApp.exit(wmHelper)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Transition begins with a split. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun startsWithSplit() {
|
||||
flicker.assertWmStart {
|
||||
this.isAppWindowVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
}
|
||||
flicker.assertWmStart {
|
||||
this.isAppWindowVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
/** Main activity should become invisible after being covered by always expand activity. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun mainActivityLayerBecomesInvisible() {
|
||||
flicker.assertLayers {
|
||||
isVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isInvisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
/** Secondary activity should become invisible after being covered by always expand activity. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun secondaryActivityLayerBecomesInvisible() {
|
||||
flicker.assertLayers {
|
||||
isVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
.then()
|
||||
.isInvisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
/** At the end of transition always expand activity is in fullscreen. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun endsWithAlwaysExpandActivityCoveringFullScreen() {
|
||||
flicker.assertWmEnd {
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.ALWAYS_EXPAND_ACTIVITY_COMPONENT)
|
||||
.coversExactly(startDisplayBounds)
|
||||
}
|
||||
}
|
||||
|
||||
/** Always expand activity is on top of the split. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun endsWithAlwaysExpandActivityOnTop() {
|
||||
flicker.assertWmEnd {
|
||||
this.isAppWindowOnTop(ActivityEmbeddingAppHelper.ALWAYS_EXPAND_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
/** {@inheritDoc} */
|
||||
private var startDisplayBounds = Rect.EMPTY
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,8 +19,8 @@ package com.android.server.wm.flicker.activityembedding
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -39,7 +39,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class OpenActivityEmbeddingPlaceholderSplitTest(flicker: FlickerTest) :
|
||||
class OpenActivityEmbeddingPlaceholderSplitTest(flicker: LegacyFlickerTest) :
|
||||
ActivityEmbeddingTestBase(flicker) {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@@ -117,13 +117,11 @@ class OpenActivityEmbeddingPlaceholderSplitTest(flicker: FlickerTest) :
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -39,7 +39,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class OpenActivityEmbeddingSecondaryToSplitTest(flicker: FlickerTest) :
|
||||
class OpenActivityEmbeddingSecondaryToSplitTest(flicker: LegacyFlickerTest) :
|
||||
ActivityEmbeddingTestBase(flicker) {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@@ -110,13 +110,11 @@ class OpenActivityEmbeddingSecondaryToSplitTest(flicker: FlickerTest) :
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,13 +18,13 @@ package com.android.server.wm.flicker.activityembedding
|
||||
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.traces.component.ComponentNameMatcher
|
||||
import com.android.server.wm.flicker.rotation.RotationTransition
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
|
||||
import com.android.server.wm.flicker.rotation.RotationTransition
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -34,8 +34,8 @@ import org.junit.runners.Parameterized
|
||||
/**
|
||||
* Tests rotating two activities in an Activity Embedding split.
|
||||
*
|
||||
* Setup: Launch A|B in split with B being the secondary activity.
|
||||
* Transitions: Rotate display, and expect A and B to split evenly in new rotation.
|
||||
* Setup: Launch A|B in split with B being the secondary activity. Transitions: Rotate display, and
|
||||
* expect A and B to split evenly in new rotation.
|
||||
*
|
||||
* To run this test: `atest FlickerTests:RotateSplitNoChangeTest`
|
||||
*/
|
||||
@@ -43,100 +43,104 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class RotateSplitNoChangeTest(flicker: FlickerTest) : RotationTransition(flicker) {
|
||||
open class RotateSplitNoChangeTest(flicker: LegacyFlickerTest) : RotationTransition(flicker) {
|
||||
|
||||
override val testApp = ActivityEmbeddingAppHelper(instrumentation)
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
super.transition(this)
|
||||
setup {
|
||||
testApp.launchViaIntent(wmHelper)
|
||||
testApp.launchSecondaryActivity(wmHelper)
|
||||
}
|
||||
}
|
||||
override val testApp = ActivityEmbeddingAppHelper(instrumentation)
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
super.transition(this)
|
||||
setup {
|
||||
testApp.launchViaIntent(wmHelper)
|
||||
testApp.launchSecondaryActivity(wmHelper)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks that the [ComponentNameMatcher.ROTATION] layer appears during the transition, doesn't
|
||||
* flicker, and disappears before the transition is complete
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
fun rotationLayerAppearsAndVanishes() {
|
||||
flicker.assertLayers {
|
||||
this.isVisible(testApp)
|
||||
.then()
|
||||
.isVisible(ComponentNameMatcher.ROTATION)
|
||||
.then()
|
||||
.isVisible(testApp)
|
||||
.isInvisible(ComponentNameMatcher.ROTATION)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides inherited assertion because in AE Split, the main and secondary activity are separate
|
||||
* layers, each covering up exactly half of the display.
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
override fun appLayerRotates_StartingPos() {
|
||||
flicker.assertLayersStart {
|
||||
this.entry.displays.map { display ->
|
||||
val leftLayerRegion = this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
val rightLayerRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
// Compare dimensions of two splits, given we're using default split attributes,
|
||||
// both activities take up the same visible size on the display.
|
||||
check{"height"}.that(leftLayerRegion.region.height).isEqual(rightLayerRegion.region.height)
|
||||
check{"width"}.that(leftLayerRegion.region.width).isEqual(rightLayerRegion.region.width)
|
||||
leftLayerRegion.notOverlaps(rightLayerRegion.region)
|
||||
// Layers of two activities sum to be fullscreen size on display.
|
||||
leftLayerRegion.plus(rightLayerRegion.region).coversExactly(display.layerStackSpace)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies dimensions of both split activities hold their invariance after transition too.
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
override fun appLayerRotates_EndingPos() {
|
||||
flicker.assertLayersEnd {
|
||||
this.entry.displays.map { display ->
|
||||
val leftLayerRegion = this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
val rightLayerRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
check{"height"}.that(leftLayerRegion.region.height).isEqual(rightLayerRegion.region.height)
|
||||
check{"width"}.that(leftLayerRegion.region.width).isEqual(rightLayerRegion.region.width)
|
||||
leftLayerRegion.notOverlaps(rightLayerRegion.region)
|
||||
leftLayerRegion.plus(rightLayerRegion.region).coversExactly(display.layerStackSpace)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Both activities in split should remain visible during rotation. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun bothActivitiesAreAlwaysVisible() {
|
||||
flicker.assertWm {
|
||||
isAppWindowVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
}
|
||||
flicker.assertWm {
|
||||
isAppWindowVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
* Checks that the [ComponentNameMatcher.ROTATION] layer appears during the transition, doesn't
|
||||
* flicker, and disappears before the transition is complete
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.rotationTests()
|
||||
@Presubmit
|
||||
@Test
|
||||
fun rotationLayerAppearsAndVanishes() {
|
||||
flicker.assertLayers {
|
||||
this.isVisible(testApp)
|
||||
.then()
|
||||
.isVisible(ComponentNameMatcher.ROTATION)
|
||||
.then()
|
||||
.isVisible(testApp)
|
||||
.isInvisible(ComponentNameMatcher.ROTATION)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides inherited assertion because in AE Split, the main and secondary activity are
|
||||
* separate layers, each covering up exactly half of the display.
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
override fun appLayerRotates_StartingPos() {
|
||||
flicker.assertLayersStart {
|
||||
this.entry.displays.map { display ->
|
||||
val leftLayerRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
val rightLayerRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
// Compare dimensions of two splits, given we're using default split attributes,
|
||||
// both activities take up the same visible size on the display.
|
||||
check { "height" }
|
||||
.that(leftLayerRegion.region.height)
|
||||
.isEqual(rightLayerRegion.region.height)
|
||||
check { "width" }
|
||||
.that(leftLayerRegion.region.width)
|
||||
.isEqual(rightLayerRegion.region.width)
|
||||
leftLayerRegion.notOverlaps(rightLayerRegion.region)
|
||||
// Layers of two activities sum to be fullscreen size on display.
|
||||
leftLayerRegion.plus(rightLayerRegion.region).coversExactly(display.layerStackSpace)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Verifies dimensions of both split activities hold their invariance after transition too. */
|
||||
@Presubmit
|
||||
@Test
|
||||
override fun appLayerRotates_EndingPos() {
|
||||
flicker.assertLayersEnd {
|
||||
this.entry.displays.map { display ->
|
||||
val leftLayerRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
|
||||
val rightLayerRegion =
|
||||
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
check { "height" }
|
||||
.that(leftLayerRegion.region.height)
|
||||
.isEqual(rightLayerRegion.region.height)
|
||||
check { "width" }
|
||||
.that(leftLayerRegion.region.width)
|
||||
.isEqual(rightLayerRegion.region.width)
|
||||
leftLayerRegion.notOverlaps(rightLayerRegion.region)
|
||||
leftLayerRegion.plus(rightLayerRegion.region).coversExactly(display.layerStackSpace)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Both activities in split should remain visible during rotation. */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun bothActivitiesAreAlwaysVisible() {
|
||||
flicker.assertWm { isAppWindowVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT) }
|
||||
flicker.assertWm {
|
||||
isAppWindowVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams() = LegacyFlickerTestFactory.rotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.FlakyTest
|
||||
import android.tools.device.flicker.annotation.FlickerServiceCompatible
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -76,7 +76,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class CloseAppBackButtonTest(flicker: FlickerTest) : CloseAppTransition(flicker) {
|
||||
open class CloseAppBackButtonTest(flicker: LegacyFlickerTest) : CloseAppTransition(flicker) {
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -96,13 +96,11 @@ open class CloseAppBackButtonTest(flicker: FlickerTest) : CloseAppTransition(fli
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@ package com.android.server.wm.flicker.close
|
||||
|
||||
import android.tools.device.flicker.annotation.FlickerServiceCompatible
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -29,18 +29,16 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class CloseAppBackButtonTestCfArm(flicker: FlickerTest) : CloseAppBackButtonTest(flicker) {
|
||||
class CloseAppBackButtonTestCfArm(flicker: LegacyFlickerTest) : CloseAppBackButtonTest(flicker) {
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
*
|
||||
* See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* See [LegacyFlickerTestFactory.nonRotationTests] for configuring screen orientation and
|
||||
* navigation modes.
|
||||
*/
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.platform.test.annotations.FlakyTest
|
||||
import android.tools.device.flicker.annotation.FlickerServiceCompatible
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -76,7 +76,7 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
open class CloseAppHomeButtonTest(flicker: FlickerTest) : CloseAppTransition(flicker) {
|
||||
open class CloseAppHomeButtonTest(flicker: LegacyFlickerTest) : CloseAppTransition(flicker) {
|
||||
/** {@inheritDoc} */
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = {
|
||||
@@ -101,8 +101,6 @@ open class CloseAppHomeButtonTest(flicker: FlickerTest) : CloseAppTransition(fli
|
||||
/** Creates the test configurations. */
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@ package com.android.server.wm.flicker.close
|
||||
|
||||
import android.tools.device.flicker.annotation.FlickerServiceCompatible
|
||||
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.FlickerTestFactory
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.MethodSorters
|
||||
@@ -29,13 +29,11 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class CloseAppHomeButtonTestCfArm(flicker: FlickerTest) : CloseAppHomeButtonTest(flicker) {
|
||||
class CloseAppHomeButtonTestCfArm(flicker: LegacyFlickerTest) : CloseAppHomeButtonTest(flicker) {
|
||||
companion object {
|
||||
/** Creates the test configurations. */
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<FlickerTest> {
|
||||
return FlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.tools.common.traces.component.ComponentNameMatcher.Companion.LAUNCHER
|
||||
import android.tools.device.apphelpers.StandardAppHelper
|
||||
import android.tools.device.flicker.legacy.FlickerBuilder
|
||||
import android.tools.device.flicker.legacy.FlickerTest
|
||||
import android.tools.device.flicker.legacy.LegacyFlickerTest
|
||||
import com.android.server.wm.flicker.BaseTest
|
||||
import com.android.server.wm.flicker.helpers.SimpleAppHelper
|
||||
import com.android.server.wm.flicker.helpers.setRotation
|
||||
@@ -28,7 +28,7 @@ import com.android.server.wm.flicker.replacesLayer
|
||||
import org.junit.Test
|
||||
|
||||
/** Base test class for transitions that close an app back to the launcher screen */
|
||||
abstract class CloseAppTransition(flicker: FlickerTest) : BaseTest(flicker) {
|
||||
abstract class CloseAppTransition(flicker: LegacyFlickerTest) : BaseTest(flicker) {
|
||||
protected open val testApp: StandardAppHelper = SimpleAppHelper(instrumentation)
|
||||
|
||||
/** {@inheritDoc} */
|
||||
|
||||
@@ -75,7 +75,7 @@ constructor(
|
||||
.StateSyncBuilder()
|
||||
.withActivityRemoved(SECONDARY_ACTIVITY_COMPONENT)
|
||||
.waitForAndVerify()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clicks the button to launch a secondary activity with alwaysExpand enabled, which will launch
|
||||
@@ -83,21 +83,19 @@ constructor(
|
||||
*/
|
||||
fun launchAlwaysExpandActivity(wmHelper: WindowManagerStateHelper) {
|
||||
val launchButton =
|
||||
uiDevice.wait(
|
||||
Until.findObject(
|
||||
By.res(getPackage(),
|
||||
"launch_always_expand_activity_button")),
|
||||
FIND_TIMEOUT
|
||||
)
|
||||
uiDevice.wait(
|
||||
Until.findObject(By.res(getPackage(), "launch_always_expand_activity_button")),
|
||||
FIND_TIMEOUT
|
||||
)
|
||||
require(launchButton != null) {
|
||||
"Can't find launch always expand activity button on screen."
|
||||
}
|
||||
launchButton.click()
|
||||
wmHelper
|
||||
.StateSyncBuilder()
|
||||
.withActivityState(ALWAYS_EXPAND_ACTIVITY_COMPONENT, PlatformConsts.STATE_RESUMED)
|
||||
.withActivityState(MAIN_ACTIVITY_COMPONENT, PlatformConsts.STATE_PAUSED)
|
||||
.waitForAndVerify()
|
||||
.StateSyncBuilder()
|
||||
.withActivityState(ALWAYS_EXPAND_ACTIVITY_COMPONENT, PlatformConsts.STATE_RESUMED)
|
||||
.withActivityState(MAIN_ACTIVITY_COMPONENT, PlatformConsts.STATE_PAUSED)
|
||||
.waitForAndVerify()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -106,21 +104,19 @@ constructor(
|
||||
*/
|
||||
fun launchSecondaryActivityRTL(wmHelper: WindowManagerStateHelper) {
|
||||
val launchButton =
|
||||
uiDevice.wait(
|
||||
Until.findObject(
|
||||
By.res(getPackage(),
|
||||
"launch_secondary_activity_rtl_button")),
|
||||
FIND_TIMEOUT
|
||||
)
|
||||
uiDevice.wait(
|
||||
Until.findObject(By.res(getPackage(), "launch_secondary_activity_rtl_button")),
|
||||
FIND_TIMEOUT
|
||||
)
|
||||
require(launchButton != null) {
|
||||
"Can't find launch secondary activity rtl button on screen."
|
||||
}
|
||||
launchButton.click()
|
||||
wmHelper
|
||||
.StateSyncBuilder()
|
||||
.withActivityState(SECONDARY_ACTIVITY_COMPONENT, PlatformConsts.STATE_RESUMED)
|
||||
.withActivityState(MAIN_ACTIVITY_COMPONENT, PlatformConsts.STATE_RESUMED)
|
||||
.waitForAndVerify()
|
||||
.StateSyncBuilder()
|
||||
.withActivityState(SECONDARY_ACTIVITY_COMPONENT, PlatformConsts.STATE_RESUMED)
|
||||
.withActivityState(MAIN_ACTIVITY_COMPONENT, PlatformConsts.STATE_RESUMED)
|
||||
.waitForAndVerify()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -148,21 +144,17 @@ constructor(
|
||||
*/
|
||||
fun launchPlaceholderSplitRTL(wmHelper: WindowManagerStateHelper) {
|
||||
val launchButton =
|
||||
uiDevice.wait(
|
||||
Until.findObject(
|
||||
By.res(getPackage(),
|
||||
"launch_placeholder_split_rtl_button")),
|
||||
FIND_TIMEOUT
|
||||
)
|
||||
require(launchButton != null) {
|
||||
"Can't find launch placeholder split button on screen."
|
||||
}
|
||||
uiDevice.wait(
|
||||
Until.findObject(By.res(getPackage(), "launch_placeholder_split_rtl_button")),
|
||||
FIND_TIMEOUT
|
||||
)
|
||||
require(launchButton != null) { "Can't find launch placeholder split button on screen." }
|
||||
launchButton.click()
|
||||
wmHelper
|
||||
.StateSyncBuilder()
|
||||
.withActivityState(PLACEHOLDER_PRIMARY_COMPONENT, PlatformConsts.STATE_RESUMED)
|
||||
.withActivityState(PLACEHOLDER_SECONDARY_COMPONENT, PlatformConsts.STATE_RESUMED)
|
||||
.waitForAndVerify()
|
||||
.StateSyncBuilder()
|
||||
.withActivityState(PLACEHOLDER_PRIMARY_COMPONENT, PlatformConsts.STATE_RESUMED)
|
||||
.withActivityState(PLACEHOLDER_SECONDARY_COMPONENT, PlatformConsts.STATE_RESUMED)
|
||||
.waitForAndVerify()
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
package com.android.server.wm.flicker.helpers
|
||||
|
||||
import android.tools.common.Rotation
|
||||
import android.tools.device.flicker.legacy.IFlickerTestData
|
||||
import android.tools.device.flicker.legacy.FlickerTestData
|
||||
import android.tools.device.flicker.rules.ChangeDisplayOrientationRule
|
||||
|
||||
/**
|
||||
@@ -27,7 +27,7 @@ import android.tools.device.flicker.rules.ChangeDisplayOrientationRule
|
||||
*
|
||||
* @param rotation New device rotation
|
||||
*/
|
||||
fun IFlickerTestData.setRotation(rotation: Rotation) =
|
||||
fun FlickerTestData.setRotation(rotation: Rotation) =
|
||||
ChangeDisplayOrientationRule.setRotation(
|
||||
rotation,
|
||||
instrumentation,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user