summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nataniel Borges <natanieljr@google.com> 2023-01-10 16:46:45 +0000
committer Nataniel Borges <natanieljr@google.com> 2023-01-10 21:54:11 +0000
commitec7fe96a5c60b02af2473b84ec40c8165d2b1f3c (patch)
treede438aa060304560ffc465d5970a9e32e2ce7288
parentf76de3d6346de3c4a1a7f982cced357e402300df (diff)
Ensure there's only 1 pip-dismiss-overlay window at any point in time
Test: atest WMShellFlickerTests Bug: 258120818 Change-Id: I65bdb74701b216d605b6a065a95876d6d858bb83
-rw-r--r--libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransition.kt22
1 files changed, 21 insertions, 1 deletions
diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransition.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransition.kt
index a9fe93d15428..1bf1354f56aa 100644
--- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransition.kt
+++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipTransition.kt
@@ -18,6 +18,7 @@ package com.android.wm.shell.flicker.pip
import android.app.Instrumentation
import android.content.Intent
+import android.platform.test.annotations.Postsubmit
import com.android.server.wm.flicker.FlickerBuilder
import com.android.server.wm.flicker.FlickerTest
import com.android.server.wm.flicker.helpers.PipAppHelper
@@ -25,8 +26,11 @@ import com.android.server.wm.flicker.helpers.WindowUtils
import com.android.server.wm.flicker.helpers.setRotation
import com.android.server.wm.flicker.rules.RemoveAllTasksButHomeRule.Companion.removeAllTasksButHome
import com.android.server.wm.flicker.testapp.ActivityOptions
+import com.android.server.wm.traces.common.ComponentNameMatcher
import com.android.server.wm.traces.common.service.PlatformConsts
import com.android.wm.shell.flicker.BaseTest
+import com.google.common.truth.Truth
+import org.junit.Test
abstract class PipTransition(flicker: FlickerTest) : BaseTest(flicker) {
protected val pipApp = PipAppHelper(instrumentation)
@@ -56,7 +60,6 @@ abstract class PipTransition(flicker: FlickerTest) : BaseTest(flicker) {
* Gets a configuration that handles basic setup and teardown of pip tests and that launches the
* Pip app for test
*
- * @param eachRun If the pip app should be launched in each run (otherwise only 1x per test)
* @param stringExtras Arguments to pass to the PIP launch intent
* @param extraSpec Additional segment of flicker specification
*/
@@ -78,4 +81,21 @@ abstract class PipTransition(flicker: FlickerTest) : BaseTest(flicker) {
extraSpec(this)
}
}
+
+ @Postsubmit
+ @Test
+ fun hasAtMostOnePipDismissOverlayWindow() {
+ val matcher = ComponentNameMatcher("", "pip-dismiss-overlay")
+ flicker.assertWm {
+ val overlaysPerState = trace.entries.map { entry ->
+ entry.windowStates.count { window ->
+ matcher.windowMatchesAnyOf(window)
+ } <= 1
+ }
+
+ Truth.assertWithMessage("Number of dismiss overlays per state")
+ .that(overlaysPerState)
+ .doesNotContain(false)
+ }
+ }
}