Allow overridding the exitPip destination bounds
Allows vendors to choose to restore to bounds other than the display bounds on exit PIP. This is specially useful in freeform enabled desktops where the previous windowing mode was freeform and PIP should return to its original freeform bounds. Bug: 225294296 Test: atest PinnedStackTests Change-Id: Id25906c4b11e5f3c8351ba96cff80c63a6a5cf4e
This commit is contained in:
@@ -434,7 +434,7 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
|
||||
}
|
||||
}
|
||||
|
||||
final Rect destinationBounds = mPipBoundsState.getDisplayBounds();
|
||||
final Rect destinationBounds = getExitDestinationBounds();
|
||||
final int direction = syncWithSplitScreenBounds(destinationBounds, requestEnterSplit)
|
||||
? TRANSITION_DIRECTION_LEAVE_PIP_TO_SPLIT_SCREEN
|
||||
: TRANSITION_DIRECTION_LEAVE_PIP;
|
||||
@@ -489,6 +489,11 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
|
||||
});
|
||||
}
|
||||
|
||||
/** Returns the bounds to restore to when exiting PIP mode. */
|
||||
public Rect getExitDestinationBounds() {
|
||||
return mPipBoundsState.getDisplayBounds();
|
||||
}
|
||||
|
||||
private void exitLaunchIntoPipTask(WindowContainerTransaction wct) {
|
||||
wct.startTask(mTaskInfo.launchIntoPipHostTaskId, null /* ActivityOptions */);
|
||||
mTaskOrganizer.applyTransaction(wct);
|
||||
|
||||
Reference in New Issue
Block a user