diff options
| author | 2023-01-10 16:46:45 +0000 | |
|---|---|---|
| committer | 2023-01-10 21:54:11 +0000 | |
| commit | ec7fe96a5c60b02af2473b84ec40c8165d2b1f3c (patch) | |
| tree | de438aa060304560ffc465d5970a9e32e2ce7288 | |
| parent | f76de3d6346de3c4a1a7f982cced357e402300df (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.kt | 22 |
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) + } + } } |