Merge "Set correct screenBounds for RemoteAnimation" into rvc-dev

This commit is contained in:
Ming-Shin Lu
2020-05-20 01:55:56 +00:00
committed by Android (Google) Code Review

View File

@@ -2184,7 +2184,8 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
final int appStackClipMode = getDisplayContent().mAppTransition.getAppStackClipMode(); final int appStackClipMode = getDisplayContent().mAppTransition.getAppStackClipMode();
// Separate position and size for use in animators. // Separate position and size for use in animators.
mTmpRect.set(getAnimationBounds(appStackClipMode)); final Rect screenBounds = getAnimationBounds(appStackClipMode);
mTmpRect.set(screenBounds);
getAnimationPosition(mTmpPoint); getAnimationPosition(mTmpPoint);
if (!sHierarchicalAnimations) { if (!sHierarchicalAnimations) {
// Non-hierarchical animation uses position in global coordinates. // Non-hierarchical animation uses position in global coordinates.
@@ -2203,7 +2204,7 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
localBounds.offsetTo(mTmpPoint.x, mTmpPoint.y); localBounds.offsetTo(mTmpPoint.x, mTmpPoint.y);
final RemoteAnimationController.RemoteAnimationRecord adapters = final RemoteAnimationController.RemoteAnimationRecord adapters =
controller.createRemoteAnimationRecord(this, mTmpPoint, localBounds, controller.createRemoteAnimationRecord(this, mTmpPoint, localBounds,
mTmpRect, (isChanging ? mSurfaceFreezer.mFreezeBounds : null)); screenBounds, (isChanging ? mSurfaceFreezer.mFreezeBounds : null));
resultAdapters = new Pair<>(adapters.mAdapter, adapters.mThumbnailAdapter); resultAdapters = new Pair<>(adapters.mAdapter, adapters.mThumbnailAdapter);
} else if (isChanging) { } else if (isChanging) {
final float durationScale = mWmService.getTransitionAnimationScaleLocked(); final float durationScale = mWmService.getTransitionAnimationScaleLocked();