Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 57c8f9d4 authored by Shuming Hao's avatar Shuming Hao
Browse files

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
parent c1965ff4
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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();
    }