diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java | 9 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/DisplayContent.java | 4 |
2 files changed, 8 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java b/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java index 00b977e1d558..51113acd0e82 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java +++ b/packages/SystemUI/src/com/android/systemui/pip/PipTaskOrganizer.java @@ -415,11 +415,16 @@ public class PipTaskOrganizer extends ITaskOrganizer.Stub { } mLastReportedBounds.set(destinationBounds); try { + // If we are animating to fullscreen, then we need to reset the override bounds on the + // task to ensure that the task "matches" the parent's bounds + Rect taskBounds = direction == TRANSITION_DIRECTION_TO_FULLSCREEN + ? null + : destinationBounds; final WindowContainerTransaction wct = new WindowContainerTransaction(); if (direction == TRANSITION_DIRECTION_TO_PIP) { - wct.scheduleFinishEnterPip(mToken, destinationBounds); + wct.scheduleFinishEnterPip(mToken, taskBounds); } else { - wct.setBounds(mToken, destinationBounds); + wct.setBounds(mToken, taskBounds); } wct.setBoundsChangeTransaction(mToken, tx); mTaskOrganizerController.applyContainerTransaction(wct, null /* ITaskOrganizer */); diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 3352bd5b0096..786b7a318c12 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -2224,9 +2224,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo .addTaggedData(MetricsEvent.FIELD_DISPLAY_ID, getDisplayId())); } - // If there was no pinned stack, we still need to notify the controller of the display info - // update as a result of the config change. - if (mPinnedStackControllerLocked != null && !hasPinnedTask()) { + if (mPinnedStackControllerLocked != null) { mPinnedStackControllerLocked.onDisplayInfoChanged(getDisplayInfo()); } } |