From 132daa9679a58102c3906e33caa74265b2d67c92 Mon Sep 17 00:00:00 2001 From: Wale Ogunwale Date: Mon, 2 May 2016 11:30:12 -0700 Subject: [PATCH] Use existing bounds when pinning an activity if there is already pinned stack Using null will take the pinned stack to fullscreen. We need to use the existing bounds when pinning an activity if pinned stack already exist. Bug: 28517964 Change-Id: I9a15a2e4477a2ee0e2f09cf052627034f9ff6023 --- .../com/android/server/am/ActivityManagerService.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index ddb9b8af1befb..471d233fbdf4b 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -7340,9 +7340,11 @@ public final class ActivityManagerService extends ActivityManagerNative + "Picture-In-Picture not supported for r=" + r); } - // Use the default launch bounds for pinned stack if it doesn't exist yet. - final Rect bounds = (mStackSupervisor.getStack(PINNED_STACK_ID) == null) - ? mDefaultPinnedStackBounds : null; + // Use the default launch bounds for pinned stack if it doesn't exist yet or use the + // current bounds. + final ActivityStack pinnedStack = mStackSupervisor.getStack(PINNED_STACK_ID); + final Rect bounds = (pinnedStack != null) + ? pinnedStack.mBounds : mDefaultPinnedStackBounds; mStackSupervisor.moveActivityToPinnedStackLocked( r, "enterPictureInPictureMode", bounds);