summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nergi Rahardi <nergi@google.com> 2024-11-26 14:47:49 +0900
committer Nergi Rahardi <nergi@google.com> 2024-11-27 11:34:21 +0900
commit17ec432bfea9036d50c4765cb4843d13714e91fb (patch)
tree81fdcf6dec2d54d4dbdbbdf83f12ca5cc34c42a8
parent626a454cca43e3c207ee3091f67c4c5b5012319b (diff)
Fix WMShellFlickerTestsDesktopMode SnapResizeAppWindow
Modified the assertion to verify that snapped window bounds only need to fill 95% of either side of the screen, due to tiling divider. Bug: 377090229 Flag: EXEMPT test fix Test: atest WMShellFlickerTestsDesktopMode:com.android.wm.shell.flicker.SnapResizeAppWindowLeftWithButton Test: atest WMShellFlickerTestsDesktopMode:com.android.wm.shell.flicker.SnapResizeAppWindowRightWithButton Change-Id: Id4cd896cd94f009ee95608d6ec326363c6827242
-rw-r--r--libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt24
1 files changed, 18 insertions, 6 deletions
diff --git a/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt b/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt
index d9c36cc70790..f6d2cc09d7b0 100644
--- a/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt
+++ b/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt
@@ -62,6 +62,14 @@ import android.tools.traces.wm.TransitionType
class DesktopModeFlickerScenarios {
companion object {
+ // In DesktopMode, window snap can be done with just a single window. In this case, the
+ // divider tiling between left and right window won't be shown, and hence its states are not
+ // obtainable in test.
+ // As the test should just focus on ensuring window goes to one side of the screen, an
+ // acceptable approach is to ensure snapped window still fills > 95% of either side of the
+ // screen.
+ private const val SNAP_WINDOW_MAX_DIFF_THRESHOLD_RATIO = 0.05
+
val END_DRAG_TO_DESKTOP =
FlickerConfigEntry(
scenarioId = ScenarioId("END_DRAG_TO_DESKTOP"),
@@ -230,9 +238,11 @@ class DesktopModeFlickerScenarios {
TaggedCujTransitionMatcher(associatedTransitionRequired = false)
)
.build(),
- assertions = AssertionTemplates.DESKTOP_MODE_APP_VISIBILITY_ASSERTIONS +
- listOf(AppWindowCoversLeftHalfScreenAtEnd(DESKTOP_MODE_APP))
- .associateBy({ it }, { AssertionInvocationGroup.BLOCKING }),
+ assertions = AssertionTemplates.DESKTOP_MODE_APP_VISIBILITY_ASSERTIONS + listOf(
+ AppWindowCoversLeftHalfScreenAtEnd(
+ DESKTOP_MODE_APP, SNAP_WINDOW_MAX_DIFF_THRESHOLD_RATIO
+ )
+ ).associateBy({ it }, { AssertionInvocationGroup.BLOCKING }),
)
val SNAP_RESIZE_RIGHT_WITH_BUTTON =
@@ -245,9 +255,11 @@ class DesktopModeFlickerScenarios {
TaggedCujTransitionMatcher(associatedTransitionRequired = false)
)
.build(),
- assertions = AssertionTemplates.DESKTOP_MODE_APP_VISIBILITY_ASSERTIONS +
- listOf(AppWindowCoversRightHalfScreenAtEnd(DESKTOP_MODE_APP))
- .associateBy({ it }, { AssertionInvocationGroup.BLOCKING }),
+ assertions = AssertionTemplates.DESKTOP_MODE_APP_VISIBILITY_ASSERTIONS + listOf(
+ AppWindowCoversRightHalfScreenAtEnd(
+ DESKTOP_MODE_APP, SNAP_WINDOW_MAX_DIFF_THRESHOLD_RATIO
+ )
+ ).associateBy({ it }, { AssertionInvocationGroup.BLOCKING }),
)
val SNAP_RESIZE_LEFT_WITH_DRAG =