diff options
4 files changed, 81 insertions, 23 deletions
diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/CommonAssertions.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/CommonAssertions.kt index 7058cb8ea149..55979905cc4f 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/CommonAssertions.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/CommonAssertions.kt @@ -20,6 +20,7 @@ package com.android.wm.shell.flicker import android.view.Surface import com.android.server.wm.flicker.FlickerTestParameter import com.android.server.wm.flicker.helpers.WindowUtils +import com.android.server.wm.flicker.helpers.isShellTransitionsEnabled import com.android.server.wm.flicker.traces.layers.LayerTraceEntrySubject import com.android.server.wm.flicker.traces.layers.LayersTraceSubject import com.android.server.wm.traces.common.IComponentMatcher @@ -99,15 +100,9 @@ fun FlickerTestParameter.splitAppLayerBoundsBecomesVisible( portraitPosTop: Boolean ) { assertLayers { - // TODO(b/242025948): Use SPLIT_SCREEN_DIVIDER_COMPONENT.or(component) for notContains - // and isInvisible when they are ready. - this.notContains(SPLIT_SCREEN_DIVIDER_COMPONENT) + this.notContains(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component)) .then() - .notContains(component, isOptional = true) - .then() - .isInvisible(SPLIT_SCREEN_DIVIDER_COMPONENT, isOptional = true) - .then() - .isInvisible(component, isOptional = true) + .isInvisible(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component)) .then() .splitAppLayerBoundsSnapToDivider( component, landscapePosLeft, portraitPosTop, endRotation) @@ -118,18 +113,25 @@ fun FlickerTestParameter.splitAppLayerBoundsBecomesVisibleByDrag( component: IComponentMatcher ) { assertLayers { - // TODO(b/242025948): Use SPLIT_SCREEN_DIVIDER_COMPONENT.or(component) for notContains - // and isInvisible when they are ready. - this.notContains(SPLIT_SCREEN_DIVIDER_COMPONENT) - .then() - .notContains(component, isOptional = true) - .then() - .isInvisible(SPLIT_SCREEN_DIVIDER_COMPONENT, isOptional = true) - .then() - .isInvisible(component, isOptional = true) - .then() - // TODO(b/245472831): Verify the component should snap to divider. - .isVisible(component) + if (isShellTransitionsEnabled) { + this.notContains(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component)) + .then() + .isInvisible(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component)) + .then() + // TODO(b/245472831): Verify the component should snap to divider. + .isVisible(component) + } else { + this.notContains(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component)) + .then() + .isInvisible(SPLIT_SCREEN_DIVIDER_COMPONENT.or(component)) + .then() + // TODO(b/245472831): Verify the component should snap to divider. + .isVisible(component) + .then() + .isInvisible(component, isOptional = true) + .then() + .isVisible(component) + } } } diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromAllApps.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromAllApps.kt index 69b66e420678..29c5cb2f2fbe 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromAllApps.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromAllApps.kt @@ -106,7 +106,26 @@ class EnterSplitScreenByDragFromAllApps( @Presubmit @Test - fun secondaryAppLayerBecomesVisible() = testSpec.layerBecomesVisible(secondaryApp) + fun secondaryAppLayerBecomesVisible() { + Assume.assumeFalse(isShellTransitionsEnabled) + testSpec.assertLayers { + this.isInvisible(secondaryApp) + .then() + .isVisible(secondaryApp) + .then() + .isInvisible(secondaryApp) + .then() + .isVisible(secondaryApp) + } + } + + // TODO(b/245472831): Align to legacy transition after shell transition ready. + @Presubmit + @Test + fun secondaryAppLayerBecomesVisible_ShellTransit() { + Assume.assumeTrue(isShellTransitionsEnabled) + testSpec.layerBecomesVisible(secondaryApp) + } @Presubmit @Test diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromNotification.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromNotification.kt index a65db97213c1..7e6cd6da18d2 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromNotification.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromNotification.kt @@ -120,8 +120,26 @@ class EnterSplitScreenByDragFromNotification( @Presubmit @Test - fun secondaryAppLayerBecomesVisible() = + fun secondaryAppLayerBecomesVisible() { + Assume.assumeFalse(isShellTransitionsEnabled) + testSpec.assertLayers { + this.isInvisible(sendNotificationApp) + .then() + .isVisible(sendNotificationApp) + .then() + .isInvisible(sendNotificationApp) + .then() + .isVisible(sendNotificationApp) + } + } + + // TODO(b/245472831): Align to legacy transition after shell transition ready. + @Presubmit + @Test + fun secondaryAppLayerBecomesVisible_ShellTransit() { + Assume.assumeTrue(isShellTransitionsEnabled) testSpec.layerBecomesVisible(sendNotificationApp) + } @Presubmit @Test diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromTaskbar.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromTaskbar.kt index fd3fa6274115..f43721c772ff 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromTaskbar.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromTaskbar.kt @@ -109,7 +109,26 @@ class EnterSplitScreenByDragFromTaskbar( @Presubmit @Test - fun secondaryAppLayerBecomesVisible() = testSpec.layerBecomesVisible(secondaryApp) + fun secondaryAppLayerBecomesVisible() { + Assume.assumeFalse(isShellTransitionsEnabled) + testSpec.assertLayers { + this.isInvisible(secondaryApp) + .then() + .isVisible(secondaryApp) + .then() + .isInvisible(secondaryApp) + .then() + .isVisible(secondaryApp) + } + } + + // TODO(b/245472831): Align to legacy transition after shell transition ready. + @Presubmit + @Test + fun secondaryAppLayerBecomesVisible_ShellTransit() { + Assume.assumeTrue(isShellTransitionsEnabled) + testSpec.layerBecomesVisible(secondaryApp) + } @Presubmit @Test |