Merge "Updates flicker documentation and improve naming" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a32ef5bd2a
@@ -18,8 +18,6 @@ package com.android.wm.shell.flicker
|
||||
|
||||
import android.graphics.Region
|
||||
import android.view.Surface
|
||||
import com.android.server.wm.flicker.APP_PAIR_SPLIT_DIVIDER
|
||||
import com.android.server.wm.flicker.DOCKED_STACK_DIVIDER
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
import com.android.server.wm.flicker.helpers.WindowUtils
|
||||
import com.android.server.wm.flicker.traces.layers.getVisibleBounds
|
||||
@@ -32,15 +30,15 @@ fun FlickerTestParameter.appPairsDividerIsVisible() {
|
||||
|
||||
fun FlickerTestParameter.appPairsDividerIsInvisible() {
|
||||
assertLayersEnd {
|
||||
this.notExists(APP_PAIR_SPLIT_DIVIDER)
|
||||
this.notContains(APP_PAIR_SPLIT_DIVIDER)
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTestParameter.appPairsDividerBecomesVisible() {
|
||||
assertLayers {
|
||||
this.hidesLayer(DOCKED_STACK_DIVIDER)
|
||||
this.isInvisible(DOCKED_STACK_DIVIDER)
|
||||
.then()
|
||||
.showsLayer(DOCKED_STACK_DIVIDER)
|
||||
.isVisible(DOCKED_STACK_DIVIDER)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,30 +50,30 @@ fun FlickerTestParameter.dockedStackDividerIsVisible() {
|
||||
|
||||
fun FlickerTestParameter.dockedStackDividerBecomesVisible() {
|
||||
assertLayers {
|
||||
this.hidesLayer(DOCKED_STACK_DIVIDER)
|
||||
this.isInvisible(DOCKED_STACK_DIVIDER)
|
||||
.then()
|
||||
.showsLayer(DOCKED_STACK_DIVIDER)
|
||||
.isVisible(DOCKED_STACK_DIVIDER)
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTestParameter.dockedStackDividerBecomesInvisible() {
|
||||
assertLayers {
|
||||
this.showsLayer(DOCKED_STACK_DIVIDER)
|
||||
this.isVisible(DOCKED_STACK_DIVIDER)
|
||||
.then()
|
||||
.hidesLayer(DOCKED_STACK_DIVIDER)
|
||||
.isInvisible(DOCKED_STACK_DIVIDER)
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTestParameter.dockedStackDividerIsInvisible() {
|
||||
assertLayersEnd {
|
||||
this.notExists(DOCKED_STACK_DIVIDER)
|
||||
this.notContains(DOCKED_STACK_DIVIDER)
|
||||
}
|
||||
}
|
||||
|
||||
fun FlickerTestParameter.appPairsPrimaryBoundsIsVisible(rotation: Int, primaryLayerName: String) {
|
||||
assertLayersEnd {
|
||||
val dividerRegion = entry.getVisibleBounds(APP_PAIR_SPLIT_DIVIDER)
|
||||
this.hasVisibleRegion(primaryLayerName, getPrimaryRegion(dividerRegion, rotation))
|
||||
this.coversExactly(getPrimaryRegion(dividerRegion, rotation), primaryLayerName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,7 +83,7 @@ fun FlickerTestParameter.dockedStackPrimaryBoundsIsVisible(
|
||||
) {
|
||||
assertLayersEnd {
|
||||
val dividerRegion = entry.getVisibleBounds(DOCKED_STACK_DIVIDER)
|
||||
this.hasVisibleRegion(primaryLayerName, getPrimaryRegion(dividerRegion, rotation))
|
||||
this.coversExactly(getPrimaryRegion(dividerRegion, rotation), primaryLayerName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,7 +93,7 @@ fun FlickerTestParameter.appPairsSecondaryBoundsIsVisible(
|
||||
) {
|
||||
assertLayersEnd {
|
||||
val dividerRegion = entry.getVisibleBounds(APP_PAIR_SPLIT_DIVIDER)
|
||||
this.hasVisibleRegion(secondaryLayerName, getSecondaryRegion(dividerRegion, rotation))
|
||||
this.coversExactly(getSecondaryRegion(dividerRegion, rotation), secondaryLayerName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +103,7 @@ fun FlickerTestParameter.dockedStackSecondaryBoundsIsVisible(
|
||||
) {
|
||||
assertLayersEnd {
|
||||
val dividerRegion = entry.getVisibleBounds(DOCKED_STACK_DIVIDER)
|
||||
this.hasVisibleRegion(secondaryLayerName, getSecondaryRegion(dividerRegion, rotation))
|
||||
this.coversExactly(getSecondaryRegion(dividerRegion, rotation), secondaryLayerName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -18,3 +18,5 @@ package com.android.wm.shell.flicker
|
||||
|
||||
const val IME_WINDOW_NAME = "InputMethod"
|
||||
const val SYSTEM_UI_PACKAGE_NAME = "com.android.systemui"
|
||||
const val APP_PAIR_SPLIT_DIVIDER = "AppPairSplitDivider"
|
||||
const val DOCKED_STACK_DIVIDER = "DockedStackDivider"
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.apppairs
|
||||
|
||||
import android.os.Bundle
|
||||
import android.os.SystemClock
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.RequiresDevice
|
||||
@@ -48,7 +47,7 @@ class AppPairsTestCannotPairNonResizeableApps(
|
||||
testSpec: FlickerTestParameter
|
||||
) : AppPairsTransition(testSpec) {
|
||||
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = {
|
||||
super.transition(this, it)
|
||||
transitions {
|
||||
|
||||
@@ -16,17 +16,16 @@
|
||||
|
||||
package com.android.wm.shell.flicker.apppairs
|
||||
|
||||
import android.os.Bundle
|
||||
import android.os.SystemClock
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.FlakyTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.APP_PAIR_SPLIT_DIVIDER
|
||||
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
import com.android.server.wm.flicker.FlickerTestParameterFactory
|
||||
import com.android.server.wm.flicker.dsl.FlickerBuilder
|
||||
import com.android.server.wm.flicker.traces.layers.getVisibleBounds
|
||||
import com.android.wm.shell.flicker.APP_PAIR_SPLIT_DIVIDER
|
||||
import com.android.wm.shell.flicker.appPairsDividerIsVisible
|
||||
import com.android.wm.shell.flicker.helpers.AppPairsHelper
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -46,7 +45,7 @@ import org.junit.runners.Parameterized
|
||||
class AppPairsTestPairPrimaryAndSecondaryApps(
|
||||
testSpec: FlickerTestParameter
|
||||
) : AppPairsTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = {
|
||||
super.transition(this, it)
|
||||
transitions {
|
||||
@@ -75,10 +74,10 @@ class AppPairsTestPairPrimaryAndSecondaryApps(
|
||||
fun appsEndingBounds() {
|
||||
testSpec.assertLayersEnd {
|
||||
val dividerRegion = entry.getVisibleBounds(APP_PAIR_SPLIT_DIVIDER)
|
||||
this.hasVisibleRegion(primaryApp.defaultWindowName,
|
||||
appPairsHelper.getPrimaryBounds(dividerRegion))
|
||||
.hasVisibleRegion(secondaryApp.defaultWindowName,
|
||||
appPairsHelper.getSecondaryBounds(dividerRegion))
|
||||
this.coversExactly(appPairsHelper.getPrimaryBounds(dividerRegion),
|
||||
primaryApp.defaultWindowName)
|
||||
.coversExactly(appPairsHelper.getSecondaryBounds(dividerRegion),
|
||||
secondaryApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,17 +16,16 @@
|
||||
|
||||
package com.android.wm.shell.flicker.apppairs
|
||||
|
||||
import android.os.Bundle
|
||||
import android.os.SystemClock
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.FlakyTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.APP_PAIR_SPLIT_DIVIDER
|
||||
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
import com.android.server.wm.flicker.FlickerTestParameterFactory
|
||||
import com.android.server.wm.flicker.dsl.FlickerBuilder
|
||||
import com.android.server.wm.flicker.traces.layers.getVisibleBounds
|
||||
import com.android.wm.shell.flicker.APP_PAIR_SPLIT_DIVIDER
|
||||
import com.android.wm.shell.flicker.appPairsDividerIsInvisible
|
||||
import com.android.wm.shell.flicker.helpers.AppPairsHelper
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -46,7 +45,7 @@ import org.junit.runners.Parameterized
|
||||
class AppPairsTestUnpairPrimaryAndSecondaryApps(
|
||||
testSpec: FlickerTestParameter
|
||||
) : AppPairsTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = {
|
||||
super.transition(this, it)
|
||||
setup {
|
||||
@@ -80,10 +79,10 @@ class AppPairsTestUnpairPrimaryAndSecondaryApps(
|
||||
fun appsStartingBounds() {
|
||||
testSpec.assertLayersStart {
|
||||
val dividerRegion = entry.getVisibleBounds(APP_PAIR_SPLIT_DIVIDER)
|
||||
hasVisibleRegion(primaryApp.defaultWindowName,
|
||||
appPairsHelper.getPrimaryBounds(dividerRegion))
|
||||
hasVisibleRegion(secondaryApp.defaultWindowName,
|
||||
appPairsHelper.getSecondaryBounds(dividerRegion))
|
||||
coversExactly(appPairsHelper.getPrimaryBounds(dividerRegion),
|
||||
primaryApp.defaultWindowName)
|
||||
coversExactly(appPairsHelper.getSecondaryBounds(dividerRegion),
|
||||
secondaryApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,8 +90,8 @@ class AppPairsTestUnpairPrimaryAndSecondaryApps(
|
||||
@Test
|
||||
fun appsEndingBounds() {
|
||||
testSpec.assertLayersEnd {
|
||||
notExists(primaryApp.defaultWindowName)
|
||||
notExists(secondaryApp.defaultWindowName)
|
||||
notContains(primaryApp.defaultWindowName)
|
||||
notContains(secondaryApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package com.android.wm.shell.flicker.apppairs
|
||||
|
||||
import android.app.Instrumentation
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.system.helpers.ActivityHelper
|
||||
import android.util.Log
|
||||
@@ -66,7 +65,7 @@ abstract class AppPairsTransition(protected val testSpec: FlickerTestParameter)
|
||||
}
|
||||
}
|
||||
|
||||
internal open val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
internal open val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
setup {
|
||||
test {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.apppairs
|
||||
|
||||
import android.os.Bundle
|
||||
import android.os.SystemClock
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
@@ -52,7 +51,7 @@ import org.junit.runners.Parameterized
|
||||
class RotateTwoLaunchedAppsInAppPairsMode(
|
||||
testSpec: FlickerTestParameter
|
||||
) : RotateTwoLaunchedAppsTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = {
|
||||
super.transition(this, it)
|
||||
transitions {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.apppairs
|
||||
|
||||
import android.os.Bundle
|
||||
import android.os.SystemClock
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
@@ -55,7 +54,7 @@ import org.junit.runners.Parameterized
|
||||
class RotateTwoLaunchedAppsRotateAndEnterAppPairsMode(
|
||||
testSpec: FlickerTestParameter
|
||||
) : RotateTwoLaunchedAppsTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = {
|
||||
super.transition(this, it)
|
||||
transitions {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.apppairs
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.Surface
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
import com.android.server.wm.flicker.dsl.FlickerBuilder
|
||||
@@ -30,7 +29,7 @@ abstract class RotateTwoLaunchedAppsTransition(
|
||||
override val nonResizeableApp: SplitScreenHelper?
|
||||
get() = null
|
||||
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = {
|
||||
setup {
|
||||
test {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -50,11 +49,10 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
// @FlakyTest(bugId = 179116910)
|
||||
class EnterSplitScreenDockActivity(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
super.transition(this, configuration)
|
||||
transitions {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -54,7 +53,7 @@ import org.junit.runners.Parameterized
|
||||
class EnterSplitScreenLaunchToSide(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
super.transition(this, configuration)
|
||||
transitions {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
@@ -50,7 +49,7 @@ import org.junit.runners.Parameterized
|
||||
class EnterSplitScreenNonResizableNotDock(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
super.transition(this, configuration)
|
||||
teardown {
|
||||
|
||||
@@ -16,12 +16,10 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.DOCKED_STACK_DIVIDER
|
||||
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
import com.android.server.wm.flicker.FlickerTestParameterFactory
|
||||
@@ -34,6 +32,7 @@ import com.android.server.wm.flicker.navBarWindowIsAlwaysVisible
|
||||
import com.android.server.wm.flicker.statusBarWindowIsAlwaysVisible
|
||||
import com.android.server.wm.flicker.visibleLayersShownMoreThanOneConsecutiveEntry
|
||||
import com.android.server.wm.flicker.visibleWindowsShownMoreThanOneConsecutiveEntry
|
||||
import com.android.wm.shell.flicker.DOCKED_STACK_DIVIDER
|
||||
import com.android.wm.shell.flicker.helpers.SplitScreenHelper
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -52,7 +51,7 @@ import org.junit.runners.Parameterized
|
||||
class ExitLegacySplitScreenFromBottom(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
super.transition(this, configuration)
|
||||
setup {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -53,7 +52,7 @@ import org.junit.runners.Parameterized
|
||||
class ExitPrimarySplitScreenShowSecondaryFullscreen(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
super.transition(this, configuration)
|
||||
teardown {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.Surface
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
import com.android.server.wm.flicker.dsl.FlickerBuilder
|
||||
@@ -27,7 +26,7 @@ import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen
|
||||
abstract class LegacySplitScreenRotateTransition(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = {
|
||||
setup {
|
||||
eachRun {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.support.test.launcherhelper.LauncherStrategyFactory
|
||||
import android.view.Surface
|
||||
@@ -66,7 +65,7 @@ class LegacySplitScreenToLauncher(
|
||||
.launcherStrategy.supportedLauncherPackage
|
||||
private val testApp = SimpleAppHelper(instrumentation)
|
||||
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
setup {
|
||||
test {
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.app.Instrumentation
|
||||
import android.os.Bundle
|
||||
import android.support.test.launcherhelper.LauncherStrategyFactory
|
||||
import android.view.Surface
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
@@ -41,7 +40,7 @@ abstract class LegacySplitScreenTransition(protected val testSpec: FlickerTestPa
|
||||
protected val LAUNCHER_PACKAGE_NAME = LauncherStrategyFactory.getInstance(instrumentation)
|
||||
.launcherStrategy.supportedLauncherPackage
|
||||
|
||||
protected open val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
protected open val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
setup {
|
||||
eachRun {
|
||||
@@ -70,7 +69,7 @@ abstract class LegacySplitScreenTransition(protected val testSpec: FlickerTestPa
|
||||
}
|
||||
}
|
||||
|
||||
internal open val cleanSetup: FlickerBuilder.(Bundle) -> Unit
|
||||
internal open val cleanSetup: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
setup {
|
||||
eachRun {
|
||||
|
||||
@@ -16,12 +16,10 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.DOCKED_STACK_DIVIDER
|
||||
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
import com.android.server.wm.flicker.FlickerTestParameterFactory
|
||||
@@ -34,6 +32,7 @@ import com.android.server.wm.flicker.layerBecomesInvisible
|
||||
import com.android.server.wm.flicker.layerBecomesVisible
|
||||
import com.android.server.wm.flicker.visibleLayersShownMoreThanOneConsecutiveEntry
|
||||
import com.android.server.wm.flicker.visibleWindowsShownMoreThanOneConsecutiveEntry
|
||||
import com.android.wm.shell.flicker.DOCKED_STACK_DIVIDER
|
||||
import com.android.wm.shell.flicker.helpers.SplitScreenHelper
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -53,7 +52,7 @@ import org.junit.runners.Parameterized
|
||||
class NonResizableDismissInLegacySplitScreen(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
cleanSetup(this, configuration)
|
||||
setup {
|
||||
|
||||
@@ -16,12 +16,10 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.DOCKED_STACK_DIVIDER
|
||||
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
import com.android.server.wm.flicker.FlickerTestParameterFactory
|
||||
@@ -33,6 +31,7 @@ import com.android.server.wm.flicker.layerBecomesInvisible
|
||||
import com.android.server.wm.flicker.layerBecomesVisible
|
||||
import com.android.server.wm.flicker.visibleLayersShownMoreThanOneConsecutiveEntry
|
||||
import com.android.server.wm.flicker.visibleWindowsShownMoreThanOneConsecutiveEntry
|
||||
import com.android.wm.shell.flicker.DOCKED_STACK_DIVIDER
|
||||
import com.android.wm.shell.flicker.helpers.SplitScreenHelper
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -53,7 +52,7 @@ import org.junit.runners.Parameterized
|
||||
class NonResizableLaunchInLegacySplitScreen(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
cleanSetup(this, configuration)
|
||||
setup {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -53,7 +52,7 @@ import org.junit.runners.Parameterized
|
||||
class OpenAppToLegacySplitScreen(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
super.transition(this, configuration)
|
||||
transitions {
|
||||
|
||||
@@ -17,13 +17,11 @@
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.graphics.Region
|
||||
import android.os.Bundle
|
||||
import android.util.Rational
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.uiautomator.By
|
||||
import com.android.server.wm.flicker.DOCKED_STACK_DIVIDER
|
||||
import com.android.server.wm.flicker.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestParameter
|
||||
import com.android.server.wm.flicker.FlickerTestParameterFactory
|
||||
@@ -46,6 +44,7 @@ import com.android.server.wm.flicker.visibleWindowsShownMoreThanOneConsecutiveEn
|
||||
import com.android.server.wm.flicker.visibleLayersShownMoreThanOneConsecutiveEntry
|
||||
import com.android.server.wm.flicker.statusBarWindowIsAlwaysVisible
|
||||
import com.android.server.wm.flicker.traces.layers.getVisibleBounds
|
||||
import com.android.wm.shell.flicker.DOCKED_STACK_DIVIDER
|
||||
import com.android.wm.shell.flicker.helpers.SimpleAppHelper
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
@@ -70,7 +69,7 @@ class ResizeLegacySplitScreen(
|
||||
private val testAppTop = SimpleAppHelper(instrumentation)
|
||||
private val testAppBottom = ImeAppHelper(instrumentation)
|
||||
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
setup {
|
||||
eachRun {
|
||||
@@ -151,21 +150,21 @@ class ResizeLegacySplitScreen(
|
||||
@Test
|
||||
fun topAppLayerIsAlwaysVisible() {
|
||||
testSpec.assertLayers {
|
||||
this.showsLayer(sSimpleActivity)
|
||||
this.isVisible(sSimpleActivity)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun bottomAppLayerIsAlwaysVisible() {
|
||||
testSpec.assertLayers {
|
||||
this.showsLayer(sImeActivity)
|
||||
this.isVisible(sImeActivity)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun dividerLayerIsAlwaysVisible() {
|
||||
testSpec.assertLayers {
|
||||
this.showsLayer(DOCKED_STACK_DIVIDER)
|
||||
this.isVisible(DOCKED_STACK_DIVIDER)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,8 +182,8 @@ class ResizeLegacySplitScreen(
|
||||
dividerBounds.bottom - WindowUtils.dockedStackDividerInset,
|
||||
displayBounds.right,
|
||||
displayBounds.bottom - WindowUtils.navigationBarHeight)
|
||||
this.hasVisibleRegion("SimpleActivity", topAppBounds)
|
||||
.hasVisibleRegion("ImeActivity", bottomAppBounds)
|
||||
this.coversExactly(topAppBounds, "SimpleActivity")
|
||||
.coversExactly(bottomAppBounds, "ImeActivity")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -203,8 +202,8 @@ class ResizeLegacySplitScreen(
|
||||
displayBounds.right,
|
||||
displayBounds.bottom - WindowUtils.navigationBarHeight)
|
||||
|
||||
this.hasVisibleRegion(sSimpleActivity, topAppBounds)
|
||||
.hasVisibleRegion(sImeActivity, bottomAppBounds)
|
||||
this.coversExactly(topAppBounds, sSimpleActivity)
|
||||
.coversExactly(bottomAppBounds, sImeActivity)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -54,7 +53,7 @@ import org.junit.runners.Parameterized
|
||||
class RotateOneLaunchedAppAndEnterSplitScreen(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenRotateTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
super.transition(this, configuration)
|
||||
transitions {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -54,7 +53,7 @@ import org.junit.runners.Parameterized
|
||||
class RotateOneLaunchedAppInSplitScreenMode(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenRotateTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
super.transition(this, configuration)
|
||||
transitions {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -56,7 +55,7 @@ import org.junit.runners.Parameterized
|
||||
class RotateTwoLaunchedAppAndEnterSplitScreen(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenRotateTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
super.transition(this, configuration)
|
||||
transitions {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.legacysplitscreen
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -56,7 +55,7 @@ import org.junit.runners.Parameterized
|
||||
class RotateTwoLaunchedAppInSplitScreenMode(
|
||||
testSpec: FlickerTestParameter
|
||||
) : LegacySplitScreenRotateTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
super.transition(this, configuration)
|
||||
setup {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
@@ -51,7 +50,7 @@ class EnterExitPipTest(
|
||||
private val testApp = FixedAppHelper(instrumentation)
|
||||
private val displayBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation)
|
||||
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = buildTransition(eachRun = true) {
|
||||
setup {
|
||||
eachRun {
|
||||
@@ -68,7 +67,7 @@ class EnterExitPipTest(
|
||||
@Test
|
||||
fun pipAppRemainInsideVisibleBounds() {
|
||||
testSpec.assertWm {
|
||||
coversAtMostRegion(pipApp.defaultWindowName, displayBounds)
|
||||
coversAtMost(displayBounds, pipApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,10 +94,10 @@ class EnterExitPipTest(
|
||||
@Test
|
||||
fun showBothAppLayersThenHidePip() {
|
||||
testSpec.assertLayers {
|
||||
showsLayer(testApp.defaultWindowName)
|
||||
.showsLayer(pipApp.defaultWindowName)
|
||||
isVisible(testApp.defaultWindowName)
|
||||
.isVisible(pipApp.defaultWindowName)
|
||||
.then()
|
||||
.hidesLayer(testApp.defaultWindowName)
|
||||
.isInvisible(testApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,8 +105,8 @@ class EnterExitPipTest(
|
||||
@Test
|
||||
fun testAppCoversFullScreenWithPipOnDisplay() {
|
||||
testSpec.assertLayersStart {
|
||||
hasVisibleRegion(testApp.defaultWindowName, displayBounds)
|
||||
coversAtMostRegion(displayBounds, pipApp.defaultWindowName)
|
||||
coversExactly(displayBounds, testApp.defaultWindowName)
|
||||
coversAtMost(displayBounds, pipApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,7 +114,7 @@ class EnterExitPipTest(
|
||||
@Test
|
||||
fun pipAppCoversFullScreen() {
|
||||
testSpec.assertLayersEnd {
|
||||
hasVisibleRegion(pipApp.defaultWindowName, displayBounds)
|
||||
coversExactly(displayBounds, pipApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -48,7 +47,7 @@ import org.junit.runners.Parameterized
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class EnterPipTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = buildTransition(eachRun = true, stringExtras = emptyMap()) {
|
||||
transitions {
|
||||
pipApp.clickEnterPipButton()
|
||||
@@ -85,7 +84,7 @@ class EnterPipTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) {
|
||||
@Test
|
||||
fun pipLayerBecomesVisible() {
|
||||
testSpec.assertLayers {
|
||||
this.showsLayer(pipApp.launcherName)
|
||||
this.isVisible(pipApp.launcherName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -56,7 +55,7 @@ class EnterPipToOtherOrientationTest(
|
||||
private val startingBounds = WindowUtils.getDisplayBounds(Surface.ROTATION_90)
|
||||
private val endingBounds = WindowUtils.getDisplayBounds(Surface.ROTATION_0)
|
||||
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
setupAndTeardown(this, configuration)
|
||||
|
||||
@@ -121,7 +120,7 @@ class EnterPipToOtherOrientationTest(
|
||||
@Test
|
||||
fun pipAppLayerHidesTestApp() {
|
||||
testSpec.assertLayersStart {
|
||||
hasVisibleRegion(pipApp.defaultWindowName, startingBounds)
|
||||
coversExactly(startingBounds, pipApp.defaultWindowName)
|
||||
isInvisible(testApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
@@ -130,7 +129,7 @@ class EnterPipToOtherOrientationTest(
|
||||
@Test
|
||||
fun testAppLayerCoversFullScreen() {
|
||||
testSpec.assertLayersEnd {
|
||||
hasVisibleRegion(testApp.defaultWindowName, endingBounds)
|
||||
coversExactly(endingBounds, testApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ fun WindowManagerStateSubject.isInPipMode(
|
||||
activity: ComponentName
|
||||
): WindowManagerStateSubject = apply {
|
||||
val windowName = activity.toWindowName()
|
||||
hasWindow(windowName)
|
||||
contains(windowName)
|
||||
val pinnedWindows = wmState.pinnedWindows
|
||||
.map { it.title }
|
||||
Truth.assertWithMessage("Window not in PIP mode")
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
@@ -46,7 +45,7 @@ import org.junit.runners.Parameterized
|
||||
class PipKeyboardTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) {
|
||||
private val imeApp = ImeAppHelper(instrumentation)
|
||||
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = buildTransition(eachRun = false) { configuration ->
|
||||
setup {
|
||||
test {
|
||||
@@ -78,7 +77,7 @@ class PipKeyboardTest(testSpec: FlickerTestParameter) : PipTransition(testSpec)
|
||||
fun pipInVisibleBounds() {
|
||||
testSpec.assertWm {
|
||||
val displayBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation)
|
||||
coversAtMostRegion(pipApp.defaultWindowName, displayBounds)
|
||||
coversAtMost(displayBounds, pipApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Postsubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -58,7 +57,7 @@ class PipLegacySplitScreenTest(testSpec: FlickerTestParameter) : PipTransition(t
|
||||
private val testApp = FixedAppHelper(instrumentation)
|
||||
private val displayBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation)
|
||||
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = {
|
||||
withTestName { testSpec.name }
|
||||
repeat { testSpec.config.repetitions }
|
||||
@@ -90,7 +89,7 @@ class PipLegacySplitScreenTest(testSpec: FlickerTestParameter) : PipTransition(t
|
||||
@Test
|
||||
fun pipWindowInsideDisplayBounds() {
|
||||
testSpec.assertWm {
|
||||
coversAtMostRegion(pipApp.defaultWindowName, displayBounds)
|
||||
coversAtMost(displayBounds, pipApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,7 +99,7 @@ class PipLegacySplitScreenTest(testSpec: FlickerTestParameter) : PipTransition(t
|
||||
testSpec.assertWmEnd {
|
||||
isVisible(testApp.defaultWindowName)
|
||||
isVisible(imeApp.defaultWindowName)
|
||||
noWindowsOverlap(setOf(testApp.defaultWindowName, imeApp.defaultWindowName))
|
||||
noWindowsOverlap(testApp.defaultWindowName, imeApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,7 +115,7 @@ class PipLegacySplitScreenTest(testSpec: FlickerTestParameter) : PipTransition(t
|
||||
@Test
|
||||
fun pipLayerInsideDisplayBounds() {
|
||||
testSpec.assertLayers {
|
||||
coversAtMostRegion(displayBounds, pipApp.defaultWindowName)
|
||||
coversAtMost(displayBounds, pipApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,8 +123,8 @@ class PipLegacySplitScreenTest(testSpec: FlickerTestParameter) : PipTransition(t
|
||||
@Test
|
||||
fun bothAppLayersVisible() {
|
||||
testSpec.assertLayersEnd {
|
||||
coversAtMostRegion(displayBounds, testApp.defaultWindowName)
|
||||
coversAtMostRegion(displayBounds, imeApp.defaultWindowName)
|
||||
coversAtMost(displayBounds, testApp.defaultWindowName)
|
||||
coversAtMost(displayBounds, imeApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -56,7 +55,7 @@ class PipRotationTest(testSpec: FlickerTestParameter) : PipTransition(testSpec)
|
||||
private val startingBounds = WindowUtils.getDisplayBounds(testSpec.config.startRotation)
|
||||
private val endingBounds = WindowUtils.getDisplayBounds(testSpec.config.endRotation)
|
||||
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = buildTransition(eachRun = false) { configuration ->
|
||||
setup {
|
||||
test {
|
||||
@@ -113,8 +112,8 @@ class PipRotationTest(testSpec: FlickerTestParameter) : PipTransition(testSpec)
|
||||
@Test
|
||||
fun appLayerRotates_StartingBounds() {
|
||||
testSpec.assertLayersStart {
|
||||
hasVisibleRegion(fixedApp.defaultWindowName, startingBounds)
|
||||
coversAtMostRegion(startingBounds, pipApp.defaultWindowName)
|
||||
coversExactly(startingBounds, fixedApp.defaultWindowName)
|
||||
coversAtMost(startingBounds, pipApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,8 +121,8 @@ class PipRotationTest(testSpec: FlickerTestParameter) : PipTransition(testSpec)
|
||||
@Test
|
||||
fun appLayerRotates_EndingBounds() {
|
||||
testSpec.assertLayersEnd {
|
||||
hasVisibleRegion(fixedApp.defaultWindowName, endingBounds)
|
||||
coversAtMostRegion(endingBounds, pipApp.defaultWindowName)
|
||||
coversExactly(endingBounds, fixedApp.defaultWindowName)
|
||||
coversAtMost(endingBounds, pipApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -50,7 +49,7 @@ import org.junit.runners.Parameterized
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class PipToAppTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = buildTransition(eachRun = true) { configuration ->
|
||||
setup {
|
||||
eachRun {
|
||||
@@ -102,9 +101,9 @@ class PipToAppTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) {
|
||||
@Test
|
||||
fun appReplacesPipLayer() {
|
||||
testSpec.assertLayers {
|
||||
this.showsLayer(PIP_WINDOW_TITLE)
|
||||
this.isVisible(PIP_WINDOW_TITLE)
|
||||
.then()
|
||||
.showsLayer(pipApp.launcherName)
|
||||
.isVisible(pipApp.launcherName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Postsubmit
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
@@ -29,6 +28,7 @@ import com.android.server.wm.flicker.dsl.FlickerBuilder
|
||||
import com.android.server.wm.flicker.focusChanges
|
||||
import com.android.server.wm.flicker.helpers.setRotation
|
||||
import com.android.server.wm.flicker.navBarLayerIsAlwaysVisible
|
||||
import com.android.server.wm.flicker.navBarLayerRotatesAndScales
|
||||
import com.android.server.wm.flicker.navBarWindowIsAlwaysVisible
|
||||
import com.android.server.wm.flicker.noUncoveredRegions
|
||||
import com.android.server.wm.flicker.startRotation
|
||||
@@ -50,7 +50,7 @@ import org.junit.runners.Parameterized
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class PipToHomeTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) {
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = buildTransition(eachRun = true) { configuration ->
|
||||
setup {
|
||||
eachRun {
|
||||
@@ -97,9 +97,9 @@ class PipToHomeTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) {
|
||||
@Test
|
||||
fun pipLayerBecomesInvisible() {
|
||||
testSpec.assertLayers {
|
||||
this.showsLayer(PIP_WINDOW_TITLE)
|
||||
this.isVisible(PIP_WINDOW_TITLE)
|
||||
.then()
|
||||
.hidesLayer(PIP_WINDOW_TITLE)
|
||||
.isInvisible(PIP_WINDOW_TITLE)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ class PipToHomeTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) {
|
||||
@Postsubmit
|
||||
@Test
|
||||
fun navBarLayerRotatesAndScales() =
|
||||
testSpec.noUncoveredRegions(testSpec.config.startRotation, Surface.ROTATION_0)
|
||||
testSpec.navBarLayerRotatesAndScales(testSpec.config.startRotation, Surface.ROTATION_0)
|
||||
|
||||
@FlakyTest(bugId = 151179149)
|
||||
@Test
|
||||
|
||||
@@ -18,7 +18,6 @@ package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.app.Instrumentation
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.Surface
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.FlickerBuilderProvider
|
||||
@@ -38,7 +37,7 @@ abstract class PipTransition(protected val testSpec: FlickerTestParameter) {
|
||||
protected val isRotated = testSpec.config.startRotation.isRotated()
|
||||
protected val pipApp = PipAppHelper(instrumentation)
|
||||
protected val broadcastActionTrigger = BroadcastActionTrigger(instrumentation)
|
||||
protected abstract val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
protected abstract val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
|
||||
// Helper class to process test actions by broadcast.
|
||||
protected class BroadcastActionTrigger(private val instrumentation: Instrumentation) {
|
||||
@@ -81,7 +80,7 @@ abstract class PipTransition(protected val testSpec: FlickerTestParameter) {
|
||||
/**
|
||||
* Gets a configuration that handles basic setup and teardown of pip tests
|
||||
*/
|
||||
protected val setupAndTeardown: FlickerBuilder.(Bundle) -> Unit
|
||||
protected val setupAndTeardown: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = {
|
||||
setup {
|
||||
test {
|
||||
@@ -112,8 +111,8 @@ abstract class PipTransition(protected val testSpec: FlickerTestParameter) {
|
||||
protected open fun buildTransition(
|
||||
eachRun: Boolean,
|
||||
stringExtras: Map<String, String> = mapOf(Components.PipActivity.EXTRA_ENTER_PIP to "true"),
|
||||
extraSpec: FlickerBuilder.(Bundle) -> Unit = {}
|
||||
): FlickerBuilder.(Bundle) -> Unit {
|
||||
extraSpec: FlickerBuilder.(Map<String, Any?>) -> Unit = {}
|
||||
): FlickerBuilder.(Map<String, Any?>) -> Unit {
|
||||
return { configuration ->
|
||||
setupAndTeardown(this, configuration)
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
@@ -54,7 +53,7 @@ class SetRequestedOrientationWhilePinnedTest(
|
||||
private val startingBounds = WindowUtils.getDisplayBounds(Surface.ROTATION_0)
|
||||
private val endingBounds = WindowUtils.getDisplayBounds(Surface.ROTATION_90)
|
||||
|
||||
override val transition: FlickerBuilder.(Bundle) -> Unit
|
||||
override val transition: FlickerBuilder.(Map<String, Any?>) -> Unit
|
||||
get() = { configuration ->
|
||||
setupAndTeardown(this, configuration)
|
||||
|
||||
@@ -88,7 +87,7 @@ class SetRequestedOrientationWhilePinnedTest(
|
||||
@Test
|
||||
fun pipWindowInsideDisplay() {
|
||||
testSpec.assertWmStart {
|
||||
coversAtMostRegion(pipApp.defaultWindowName, startingBounds)
|
||||
coversAtMost(startingBounds, pipApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,7 +111,7 @@ class SetRequestedOrientationWhilePinnedTest(
|
||||
@Test
|
||||
fun pipLayerInsideDisplay() {
|
||||
testSpec.assertLayersStart {
|
||||
coversAtMostRegion(startingBounds, pipApp.defaultWindowName)
|
||||
coversAtMost(startingBounds, pipApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,7 +119,7 @@ class SetRequestedOrientationWhilePinnedTest(
|
||||
@Test
|
||||
fun pipAppLayerCoversFullScreen() {
|
||||
testSpec.assertLayersEnd {
|
||||
hasVisibleRegion(pipApp.defaultWindowName, endingBounds)
|
||||
coversExactly(endingBounds, pipApp.defaultWindowName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user