Merge "Support layer occlusion with rounded corners"
This commit is contained in:
committed by
Android (Google) Code Review
commit
d6310c0b91
@@ -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