From cd355907712d0e0aa5e392d9b55834b9a27486a9 Mon Sep 17 00:00:00 2001 From: Pablo Gamito Date: Fri, 3 Dec 2021 01:22:42 +0100 Subject: [PATCH] Fix flaky assertion Sometimes, when quick switching between apps, the previous app is restarted (e.g., it was stopped by the OS to release memory). Because of this, the app launch creates a SnapshotStartingWindow before the secondary app is visible again. So we now check if this is visible if the Window itself isn't yet. Test: atest FlickerTests SwitchImeWindowsFromGestureNavTest#imeAppWindowVisibility Bug: 208628307 Change-Id: I1cc48da5f1dd9ad78b8565a0028272dd3b985a39 --- .../wm/flicker/ime/SwitchImeWindowsFromGestureNavTest.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/SwitchImeWindowsFromGestureNavTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/SwitchImeWindowsFromGestureNavTest.kt index 56ec80cd5caaa..a7a9fe289a4aa 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/ime/SwitchImeWindowsFromGestureNavTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/ime/SwitchImeWindowsFromGestureNavTest.kt @@ -107,9 +107,13 @@ class SwitchImeWindowsFromGestureNavTest(private val testSpec: FlickerTestParame fun imeAppWindowVisibility() { testSpec.assertWm { isAppWindowVisible(imeTestApp.component) + .then() + .isAppSnapshotStartingWindowVisibleFor(testApp.component, isOptional = true) .then() .isAppWindowVisible(testApp.component) .then() + .isAppSnapshotStartingWindowVisibleFor(imeTestApp.component, isOptional = true) + .then() .isAppWindowVisible(imeTestApp.component) } }