diff options
| -rw-r--r-- | libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/SwitchAppByDoubleTapDivider.kt | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/SwitchAppByDoubleTapDivider.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/SwitchAppByDoubleTapDivider.kt index 813ac5dad82b..84a8c0a59f32 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/SwitchAppByDoubleTapDivider.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/SwitchAppByDoubleTapDivider.kt @@ -26,7 +26,7 @@ import com.android.server.wm.flicker.FlickerParametersRunnerFactory import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.FlickerTestParameterFactory import com.android.server.wm.flicker.dsl.FlickerBuilder -import com.android.server.wm.flicker.helpers.isRotated +import com.android.server.wm.flicker.helpers.WindowUtils import com.android.server.wm.traces.parser.windowmanager.WindowManagerStateHelper import com.android.wm.shell.flicker.SPLIT_SCREEN_DIVIDER_COMPONENT import com.android.wm.shell.flicker.appWindowIsVisibleAtEnd @@ -79,10 +79,18 @@ class SwitchAppByDoubleTapDivider(testSpec: FlickerTestParameter) : SplitScreenB secondaryApp.windowMatchesAnyOf(window) } ?: return@add false - if (testSpec.startRotation.isRotated()) { - return@add primaryAppWindow.frame.right <= secondaryAppWindow.frame.left + if (isLandscape(testSpec.endRotation)) { + return@add if (testSpec.isTablet) { + secondaryAppWindow.frame.right <= primaryAppWindow.frame.left + } else { + primaryAppWindow.frame.right <= secondaryAppWindow.frame.left + } } else { - return@add primaryAppWindow.frame.bottom <= secondaryAppWindow.frame.top + return@add if (testSpec.isTablet) { + primaryAppWindow.frame.bottom <= secondaryAppWindow.frame.top + } else { + primaryAppWindow.frame.bottom <= secondaryAppWindow.frame.top + } } }.waitForAndVerify() } @@ -101,14 +109,27 @@ class SwitchAppByDoubleTapDivider(testSpec: FlickerTestParameter) : SplitScreenB val secondaryVisibleRegion = secondaryAppLayer.visibleRegion?.bounds ?: return@add false - if (testSpec.startRotation.isRotated()) { - return@add primaryVisibleRegion.right <= secondaryVisibleRegion.left + if (isLandscape(testSpec.endRotation)) { + return@add if (testSpec.isTablet) { + secondaryVisibleRegion.right <= primaryVisibleRegion.left + } else { + primaryVisibleRegion.right <= secondaryVisibleRegion.left + } } else { - return@add primaryVisibleRegion.bottom <= secondaryVisibleRegion.top + return@add if (testSpec.isTablet) { + primaryVisibleRegion.bottom <= secondaryVisibleRegion.top + } else { + primaryVisibleRegion.bottom <= secondaryVisibleRegion.top + } } }.waitForAndVerify() } + private fun isLandscape(rotation: Int): Boolean { + val displayBounds = WindowUtils.getDisplayBounds(rotation) + return displayBounds.width > displayBounds.height + } + @IwTest(focusArea = "sysui") @Presubmit @Test |