When entering PIP with multi-activity, re-use mLastNonFullscreenBounds.
In freeform support, we use mLastNonFullScreenBounds to keep track of the task's bounds in freeform. Such that when maximizing/entering PIP, it can restore to this bound after un-maximize/exiting PIP. However when creating a new stack (in the case of multiple-activity in the task, such as VLC), this information gets lost. We will reuse the current task's lastNonfullscreenBounds. Bug: 156780576 Test: In freeform, enter PIP using Multi-activity PIP (e.g. VLC), expand PIP, the PIP activity is using the same bounds as before Change-Id: Ic633fd1704c6e909fef0c2bd2dfe4bd9e2ca53ae
This commit is contained in:
@@ -2176,6 +2176,10 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
|
||||
// move the PIP activity into the task.
|
||||
stack = taskDisplayArea.createStack(WINDOWING_MODE_UNDEFINED, r.getActivityType(),
|
||||
ON_TOP, r.info, r.intent, false /* createdByOrganizer */);
|
||||
// It's possible the task entering PIP is in freeform, so save the last
|
||||
// non-fullscreen bounds. Then when this new PIP task exits PIP, it can restore
|
||||
// to its previous freeform bounds.
|
||||
stack.setLastNonFullscreenBounds(task.mLastNonFullscreenBounds);
|
||||
|
||||
// There are multiple activities in the task and moving the top activity should
|
||||
// reveal/leave the other activities in their original task.
|
||||
|
||||
Reference in New Issue
Block a user