Merge "Only use the pre-animation bounds when an animation is running and is set" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-06-07 18:25:14 +00:00
committed by Android (Google) Code Review
2 changed files with 15 additions and 1 deletions

View File

@@ -1334,8 +1334,20 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
// for the next re-entry into PiP (assuming the activity is not hidden or destroyed)
final TaskStack pinnedStack = mDisplayContent.getPinnedStack();
if (pinnedStack != null) {
final Rect stackBounds;
if (pinnedStack.lastAnimatingBoundsWasToFullscreen()) {
// We are animating the bounds, use the pre-animation bounds to save the snap
// fraction
stackBounds = pinnedStack.mPreAnimationBounds;
} else {
// We skip the animation if the fullscreen configuration is not compatible, so
// use the current bounds to calculate the saved snap fraction instead
// (see PinnedActivityStack.skipResizeAnimation())
stackBounds = mTmpRect;
pinnedStack.getBounds(stackBounds);
}
mDisplayContent.mPinnedStackControllerLocked.saveReentrySnapFraction(this,
pinnedStack.mPreAnimationBounds);
stackBounds);
}
}
}

View File

@@ -589,6 +589,7 @@ class PinnedStackController {
pw.println(prefix + " mImeHeight=" + mImeHeight);
pw.println(prefix + " mIsShelfShowing=" + mIsShelfShowing);
pw.println(prefix + " mShelfHeight=" + mShelfHeight);
pw.println(prefix + " mReentrySnapFraction=" + mReentrySnapFraction);
pw.println(prefix + " mIsMinimized=" + mIsMinimized);
if (mActions.isEmpty()) {
pw.println(prefix + " mActions=[]");
@@ -601,6 +602,7 @@ class PinnedStackController {
}
pw.println(prefix + " ]");
}
pw.println(prefix + " mDisplayInfo=" + mDisplayInfo);
}
void writeToProto(ProtoOutputStream proto, long fieldId) {