summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Winson Chung <winsonc@google.com> 2023-06-14 06:40:59 +0000
committer Winson Chung <winsonc@google.com> 2023-06-16 04:17:34 +0000
commit32e6a3835382d9bbfa6de6869aa4c33612f085c5 (patch)
treeb088b0756821a626c336edede4cacce110299f81
parent4c77d93241f9ab62aaeb0ac3b55cfc4a8f529ebd (diff)
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
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java7
1 files changed, 6 insertions, 1 deletions
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 9d278b721bec..3917922f1d96 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;
}
/**