Merge "Clear pair in recents if exit by other components" into udc-qpr-dev

This commit is contained in:
Treehugger Robot
2023-08-07 05:21:40 +00:00
committed by Android (Google) Code Review
3 changed files with 5 additions and 3 deletions

View File

@@ -592,7 +592,8 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
SplitScreenController split = mSplitScreenOptional.get();
if (split.isTaskInSplitScreen(mTaskInfo.lastParentTaskIdBeforePip)) {
split.prepareExitSplitScreen(wct, split.getStageOfTask(
mTaskInfo.lastParentTaskIdBeforePip));
mTaskInfo.lastParentTaskIdBeforePip),
SplitScreenController.EXIT_REASON_APP_FINISHED);
}
}
mPipTransitionController.startExitTransition(TRANSIT_EXIT_PIP, wct, destinationBounds);

View File

@@ -423,8 +423,9 @@ public class SplitScreenController implements DragAndDropPolicy.Starter,
* transition.
*/
public void prepareExitSplitScreen(WindowContainerTransaction wct,
@StageType int stageToTop) {
@StageType int stageToTop, @ExitReason int reason) {
mStageCoordinator.prepareExitSplitScreen(stageToTop, wct);
mStageCoordinator.clearSplitPairedInRecents(reason);
}
public void enterSplitScreen(int taskId, boolean leftOrTop) {

View File

@@ -1494,7 +1494,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
}
}
private void clearSplitPairedInRecents(@ExitReason int exitReason) {
void clearSplitPairedInRecents(@ExitReason int exitReason) {
if (!shouldBreakPairedTaskInRecents(exitReason) || !mShouldUpdateRecents) return;
mRecentTasks.ifPresent(recentTasks -> {