Support layer occlusion with rounded corners
Currently, when a layer is covered by another with rounded corners, both are marked only as covered and never as occluded. With the change in flickerlib to support occlusion in this state (SF fix still pending) the test needs to be updated to reflect this scenario Also, disable flaky flicker test because of recent regression Test: atest WMShellFlickerTests Bug: 265007895 Change-Id: I98b97ef3e2d6cbe084811ca7e658fa6d590a8060
This commit is contained in:
@@ -82,13 +82,33 @@ open class EnterPipOnUserLeaveHintTest(flicker: FlickerTest) : EnterPipTest(flic
|
||||
|
||||
@Presubmit
|
||||
@Test
|
||||
override fun pipAppLayerAlwaysVisible() {
|
||||
if (!flicker.scenario.isGesturalNavigation) super.pipAppLayerAlwaysVisible()
|
||||
else {
|
||||
// pip layer in gesture nav will disappear during transition
|
||||
flicker.assertLayers {
|
||||
this.isVisible(pipApp).then().isInvisible(pipApp).then().isVisible(pipApp)
|
||||
}
|
||||
override fun pipAppLayerOrOverlayAlwaysVisible() {
|
||||
// pip layer in gesture nav will disappear during transition
|
||||
Assume.assumeFalse(flicker.scenario.isGesturalNavigation)
|
||||
super.pipAppLayerOrOverlayAlwaysVisible()
|
||||
}
|
||||
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipAppWindowVisibleChanges() {
|
||||
// pip layer in gesture nav will disappear during transition
|
||||
Assume.assumeTrue(flicker.scenario.isGesturalNavigation)
|
||||
flicker.assertWm {
|
||||
this.isAppWindowVisible(pipApp)
|
||||
.then()
|
||||
.isAppWindowInvisible(pipApp, isOptional = true)
|
||||
.then()
|
||||
.isAppWindowVisible(pipApp, isOptional = true)
|
||||
}
|
||||
}
|
||||
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipAppLayerVisibleChanges() {
|
||||
Assume.assumeTrue(flicker.scenario.isGesturalNavigation)
|
||||
// pip layer in gesture nav will disappear during transition
|
||||
flicker.assertLayers {
|
||||
this.isVisible(pipApp).then().isInvisible(pipApp).then().isVisible(pipApp)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,12 +136,19 @@ open class EnterPipOnUserLeaveHintTest(flicker: FlickerTest) : EnterPipTest(flic
|
||||
|
||||
@Presubmit
|
||||
@Test
|
||||
override fun pipLayerRemainInsideVisibleBounds() {
|
||||
if (!flicker.scenario.isGesturalNavigation) super.pipLayerRemainInsideVisibleBounds()
|
||||
else {
|
||||
// pip layer in gesture nav will disappear during transition
|
||||
flicker.assertLayersStart { this.visibleRegion(pipApp).coversAtMost(displayBounds) }
|
||||
flicker.assertLayersEnd { this.visibleRegion(pipApp).coversAtMost(displayBounds) }
|
||||
}
|
||||
override fun pipLayerOrOverlayRemainInsideVisibleBounds() {
|
||||
// pip layer in gesture nav will disappear during transition
|
||||
Assume.assumeFalse(flicker.scenario.isGesturalNavigation)
|
||||
super.pipLayerOrOverlayRemainInsideVisibleBounds()
|
||||
}
|
||||
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipLayerRemainInsideVisibleBounds() {
|
||||
// pip layer in gesture nav will disappear during transition
|
||||
Assume.assumeTrue(flicker.scenario.isGesturalNavigation)
|
||||
// pip layer in gesture nav will disappear during transition
|
||||
flicker.assertLayersStart { this.visibleRegion(pipApp).coversAtMost(displayBounds) }
|
||||
flicker.assertLayersEnd { this.visibleRegion(pipApp).coversAtMost(displayBounds) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,8 +74,14 @@ open class EnterPipTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
/** Checks [pipApp] layer remains visible throughout the animation */
|
||||
@Presubmit
|
||||
@Test
|
||||
open fun pipAppLayerAlwaysVisible() {
|
||||
flicker.assertLayers { this.isVisible(pipApp) }
|
||||
open fun pipAppLayerOrOverlayAlwaysVisible() {
|
||||
flicker.assertLayers {
|
||||
this.isVisible(pipApp)
|
||||
.then()
|
||||
.isVisible(ComponentNameMatcher.PIP_CONTENT_OVERLAY)
|
||||
.then()
|
||||
.isVisible(pipApp)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -94,8 +100,10 @@ open class EnterPipTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
*/
|
||||
@Presubmit
|
||||
@Test
|
||||
open fun pipLayerRemainInsideVisibleBounds() {
|
||||
flicker.assertLayersVisibleRegion(pipApp) { coversAtMost(displayBounds) }
|
||||
open fun pipLayerOrOverlayRemainInsideVisibleBounds() {
|
||||
flicker.assertLayersVisibleRegion(pipApp.or(ComponentNameMatcher.PIP_CONTENT_OVERLAY) ) {
|
||||
coversAtMost(displayBounds)
|
||||
}
|
||||
}
|
||||
|
||||
/** Checks that the visible region of [pipApp] always reduces during the animation */
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.app.Activity
|
||||
import android.platform.test.annotations.FlakyTest
|
||||
import android.platform.test.annotations.Postsubmit
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.RequiresDevice
|
||||
@@ -197,7 +198,7 @@ open class EnterPipToOtherOrientationTest(flicker: FlickerTest) : PipTransition(
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Presubmit
|
||||
@FlakyTest(bugId = 267424412)
|
||||
@Test
|
||||
override fun visibleLayersShownMoreThanOneConsecutiveEntry() =
|
||||
super.visibleLayersShownMoreThanOneConsecutiveEntry()
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.wm.shell.flicker.pip
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import com.android.server.wm.flicker.FlickerTest
|
||||
import com.android.server.wm.flicker.helpers.SimpleAppHelper
|
||||
import com.android.server.wm.traces.common.ComponentNameMatcher
|
||||
import org.junit.Test
|
||||
|
||||
/** Base class for pip expand tests */
|
||||
@@ -32,7 +33,9 @@ abstract class ExitPipToAppTransition(flicker: FlickerTest) : PipTransition(flic
|
||||
@Presubmit
|
||||
@Test
|
||||
open fun pipAppWindowRemainInsideVisibleBounds() {
|
||||
flicker.assertWmVisibleRegion(pipApp) { coversAtMost(displayBounds) }
|
||||
flicker.assertWmVisibleRegion(pipApp.or(ComponentNameMatcher.TRANSITION_SNAPSHOT)) {
|
||||
coversAtMost(displayBounds)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -42,7 +45,9 @@ abstract class ExitPipToAppTransition(flicker: FlickerTest) : PipTransition(flic
|
||||
@Presubmit
|
||||
@Test
|
||||
open fun pipAppLayerRemainInsideVisibleBounds() {
|
||||
flicker.assertLayersVisibleRegion(pipApp) { coversAtMost(displayBounds) }
|
||||
flicker.assertLayersVisibleRegion(pipApp.or(ComponentNameMatcher.TRANSITION_SNAPSHOT)) {
|
||||
coversAtMost(displayBounds)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -72,7 +77,10 @@ abstract class ExitPipToAppTransition(flicker: FlickerTest) : PipTransition(flic
|
||||
@Test
|
||||
open fun showBothAppLayersThenHidePip() {
|
||||
flicker.assertLayers {
|
||||
isVisible(testApp).isVisible(pipApp).then().isInvisible(testApp).isVisible(pipApp)
|
||||
isVisible(testApp)
|
||||
.isVisible(pipApp.or(ComponentNameMatcher.TRANSITION_SNAPSHOT))
|
||||
.then()
|
||||
.isInvisible(testApp).isVisible(pipApp)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -76,7 +76,9 @@ open class ExitPipWithSwipeDownTest(flicker: FlickerTest) : ExitPipTransition(fl
|
||||
?.height
|
||||
?: error("Couldn't find Nav or Task bar layer")
|
||||
// The dismiss button doesn't appear at the complete bottom of the screen,
|
||||
val displayY = device.displayHeight - barLayerHeight
|
||||
// it appears above the hot seat but `hotseatBarSize` is not available outside
|
||||
// the platform
|
||||
val displayY = (device.displayHeight * 0.9).toInt() - barLayerHeight
|
||||
device.swipe(pipCenterX, pipCenterY, displayCenterX, displayY, 50)
|
||||
// Wait until the other app is no longer visible
|
||||
wmHelper
|
||||
|
||||
Reference in New Issue
Block a user