From 32e6a3835382d9bbfa6de6869aa4c33612f085c5 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Wed, 14 Jun 2023 06:40:59 +0000 Subject: [PATCH] Only handle transition requests in split if active and visible - Otherwise handling all requests prevents dynamic remote animations from being registered and run Fixes: 285995223 Test: Presubmit Change-Id: Ic5d3d197a1d9623d1eb5612dcfb4fecd83666145 --- .../com/android/wm/shell/splitscreen/StageCoordinator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java index 9d278b721becd..3917922f1d96f 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java @@ -2342,6 +2342,11 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, prepareExitSplitScreen(STAGE_TYPE_UNDEFINED, out); } } + + // When split in the background, it should be only opening/dismissing transition and + // would keep out not empty. Prevent intercepting all transitions for split screen when + // it is in the background and not identify to handle it. + return (!out.isEmpty() || isSplitScreenVisible()) ? out : null; } else { if (isOpening && getStageOfTask(triggerTask) != null) { // One task is appearing into split, prepare to enter split screen. @@ -2351,8 +2356,8 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, mSplitTransitions.setEnterTransition(transition, request.getRemoteTransition(), TRANSIT_SPLIT_SCREEN_PAIR_OPEN, !mIsDropEntering); } + return out; } - return out; } /**