diff options
| author | 2025-02-03 17:44:17 -0800 | |
|---|---|---|
| committer | 2025-02-04 14:19:59 -0800 | |
| commit | 57c8f9d47f43c367065e9971cf453e4baa50afc2 (patch) | |
| tree | 743651c74f07e784019c3189a6f095c5797fec62 | |
| parent | c1965ff49a88195cd9cbe155db74ac2250a21bd3 (diff) | |
Reparent split root task to default display
This CL reparents split screen root task to default display after the
split pair is dismissed.
Test: manual
Flag: com.android.window.flags.enable_non_default_display_split
Bug: 394181799
Change-Id: Ie33aa1022e7861da3efe1ae0c8f11fd05d1eea4b
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java | 8 |
1 files changed, 8 insertions, 0 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 13940b1da257..6f7d992683cf 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 @@ -34,6 +34,7 @@ import static android.view.WindowManager.TRANSIT_TO_FRONT; import static android.window.TransitionInfo.FLAG_IS_DISPLAY; import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_REORDER; +import static com.android.window.flags.Flags.enableNonDefaultDisplaySplit; import static com.android.wm.shell.Flags.enableFlexibleSplit; import static com.android.wm.shell.Flags.enableFlexibleTwoAppSplit; import static com.android.wm.shell.common.split.SplitLayout.PARALLAX_ALIGN_CENTER; @@ -1697,6 +1698,13 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, wct.setWindowingMode(taskInfo.token, targetWindowingMode); }); } + // Reparent root task to default display if non default display split is enabled. + if (enableNonDefaultDisplaySplit() && mRootTaskInfo.displayId != DEFAULT_DISPLAY) { + DisplayAreaInfo displayAreaInfo = mRootTDAOrganizer.getDisplayAreaInfo(DEFAULT_DISPLAY); + if (displayAreaInfo != null) { + wct.reparent(mRootTaskInfo.token, displayAreaInfo.token, false /* onTop */); + } + } deactivateSplit(wct, stageToTop); mSplitState.exit(); } |