Loading libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/SwitchAppByDoubleTapDivider.kt +28 −7 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 { return@add primaryAppWindow.frame.bottom <= secondaryAppWindow.frame.top primaryAppWindow.frame.right <= secondaryAppWindow.frame.left } } else { return@add if (testSpec.isTablet) { primaryAppWindow.frame.bottom <= secondaryAppWindow.frame.top } else { primaryAppWindow.frame.bottom <= secondaryAppWindow.frame.top } } }.waitForAndVerify() } Loading @@ -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 if (testSpec.isTablet) { primaryVisibleRegion.bottom <= secondaryVisibleRegion.top } else { return@add primaryVisibleRegion.bottom <= secondaryVisibleRegion.top 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 Loading Loading
libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/SwitchAppByDoubleTapDivider.kt +28 −7 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 { return@add primaryAppWindow.frame.bottom <= secondaryAppWindow.frame.top primaryAppWindow.frame.right <= secondaryAppWindow.frame.left } } else { return@add if (testSpec.isTablet) { primaryAppWindow.frame.bottom <= secondaryAppWindow.frame.top } else { primaryAppWindow.frame.bottom <= secondaryAppWindow.frame.top } } }.waitForAndVerify() } Loading @@ -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 if (testSpec.isTablet) { primaryVisibleRegion.bottom <= secondaryVisibleRegion.top } else { return@add primaryVisibleRegion.bottom <= secondaryVisibleRegion.top 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 Loading