Loading libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +8 −2 Original line number Original line Diff line number Diff line Loading @@ -1482,6 +1482,10 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, } } // If running background, we need to reparent current top visible task to main stage. // If running background, we need to reparent current top visible task to main stage. if (!isSplitScreenVisible()) { if (!isSplitScreenVisible()) { // Ensure to evict old splitting tasks because the new split pair might be composed by // one of the splitting tasks, evicting the task when finishing entering transition // won't guarantee to put the task to the indicated new position. mMainStage.evictAllChildren(wct); mMainStage.reparentTopTask(wct); mMainStage.reparentTopTask(wct); prepareSplitLayout(wct); prepareSplitLayout(wct); } } Loading Loading @@ -2311,8 +2315,9 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, mSplitTransitions.setDismissTransition(transition, dismissTop, mSplitTransitions.setDismissTransition(transition, dismissTop, EXIT_REASON_APP_FINISHED); EXIT_REASON_APP_FINISHED); } else if (!isSplitScreenVisible() && isOpening) { } else if (!isSplitScreenVisible() && isOpening) { // If split running backgroud and trigger task is appearing into split, // If split is running in the background and the trigger task is appearing into // prepare to enter split screen. // split, prepare to enter split screen. setSideStagePosition(SPLIT_POSITION_BOTTOM_OR_RIGHT, out); prepareEnterSplitScreen(out); prepareEnterSplitScreen(out); mSplitTransitions.setEnterTransition(transition, request.getRemoteTransition(), mSplitTransitions.setEnterTransition(transition, request.getRemoteTransition(), TRANSIT_SPLIT_SCREEN_PAIR_OPEN, !mIsDropEntering); TRANSIT_SPLIT_SCREEN_PAIR_OPEN, !mIsDropEntering); Loading @@ -2338,6 +2343,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, if (isOpening && getStageOfTask(triggerTask) != null) { if (isOpening && getStageOfTask(triggerTask) != null) { // One task is appearing into split, prepare to enter split screen. // One task is appearing into split, prepare to enter split screen. out = new WindowContainerTransaction(); out = new WindowContainerTransaction(); setSideStagePosition(SPLIT_POSITION_BOTTOM_OR_RIGHT, out); prepareEnterSplitScreen(out); prepareEnterSplitScreen(out); mSplitTransitions.setEnterTransition(transition, request.getRemoteTransition(), mSplitTransitions.setEnterTransition(transition, request.getRemoteTransition(), TRANSIT_SPLIT_SCREEN_PAIR_OPEN, !mIsDropEntering); TRANSIT_SPLIT_SCREEN_PAIR_OPEN, !mIsDropEntering); Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +8 −2 Original line number Original line Diff line number Diff line Loading @@ -1482,6 +1482,10 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, } } // If running background, we need to reparent current top visible task to main stage. // If running background, we need to reparent current top visible task to main stage. if (!isSplitScreenVisible()) { if (!isSplitScreenVisible()) { // Ensure to evict old splitting tasks because the new split pair might be composed by // one of the splitting tasks, evicting the task when finishing entering transition // won't guarantee to put the task to the indicated new position. mMainStage.evictAllChildren(wct); mMainStage.reparentTopTask(wct); mMainStage.reparentTopTask(wct); prepareSplitLayout(wct); prepareSplitLayout(wct); } } Loading Loading @@ -2311,8 +2315,9 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, mSplitTransitions.setDismissTransition(transition, dismissTop, mSplitTransitions.setDismissTransition(transition, dismissTop, EXIT_REASON_APP_FINISHED); EXIT_REASON_APP_FINISHED); } else if (!isSplitScreenVisible() && isOpening) { } else if (!isSplitScreenVisible() && isOpening) { // If split running backgroud and trigger task is appearing into split, // If split is running in the background and the trigger task is appearing into // prepare to enter split screen. // split, prepare to enter split screen. setSideStagePosition(SPLIT_POSITION_BOTTOM_OR_RIGHT, out); prepareEnterSplitScreen(out); prepareEnterSplitScreen(out); mSplitTransitions.setEnterTransition(transition, request.getRemoteTransition(), mSplitTransitions.setEnterTransition(transition, request.getRemoteTransition(), TRANSIT_SPLIT_SCREEN_PAIR_OPEN, !mIsDropEntering); TRANSIT_SPLIT_SCREEN_PAIR_OPEN, !mIsDropEntering); Loading @@ -2338,6 +2343,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, if (isOpening && getStageOfTask(triggerTask) != null) { if (isOpening && getStageOfTask(triggerTask) != null) { // One task is appearing into split, prepare to enter split screen. // One task is appearing into split, prepare to enter split screen. out = new WindowContainerTransaction(); out = new WindowContainerTransaction(); setSideStagePosition(SPLIT_POSITION_BOTTOM_OR_RIGHT, out); prepareEnterSplitScreen(out); prepareEnterSplitScreen(out); mSplitTransitions.setEnterTransition(transition, request.getRemoteTransition(), mSplitTransitions.setEnterTransition(transition, request.getRemoteTransition(), TRANSIT_SPLIT_SCREEN_PAIR_OPEN, !mIsDropEntering); TRANSIT_SPLIT_SCREEN_PAIR_OPEN, !mIsDropEntering); Loading