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