Merge "Crop windowing layer to that of display size in screen rotation animation" into tm-qpr-dev

This commit is contained in:
Vinit Nayak
2022-07-18 14:51:45 +00:00
committed by Android (Google) Code Review

View File

@@ -600,7 +600,7 @@ class ScreenRotationAnimation {
} }
private SurfaceAnimator startDisplayRotation() { private SurfaceAnimator startDisplayRotation() {
return startAnimation(initializeBuilder() SurfaceAnimator animator = startAnimation(initializeBuilder()
.setAnimationLeashParent(mDisplayContent.getSurfaceControl()) .setAnimationLeashParent(mDisplayContent.getSurfaceControl())
.setSurfaceControl(mDisplayContent.getWindowingLayer()) .setSurfaceControl(mDisplayContent.getWindowingLayer())
.setParentSurfaceControl(mDisplayContent.getSurfaceControl()) .setParentSurfaceControl(mDisplayContent.getSurfaceControl())
@@ -609,6 +609,13 @@ class ScreenRotationAnimation {
.build(), .build(),
createWindowAnimationSpec(mRotateEnterAnimation), createWindowAnimationSpec(mRotateEnterAnimation),
this::onAnimationEnd); this::onAnimationEnd);
// Crop the animation leash to avoid extended wallpaper from showing over
// mBackColorSurface
Rect displayBounds = mDisplayContent.getBounds();
mDisplayContent.getPendingTransaction()
.setWindowCrop(animator.mLeash, displayBounds.width(), displayBounds.height());
return animator;
} }
private SurfaceAnimator startScreenshotAlphaAnimation() { private SurfaceAnimator startScreenshotAlphaAnimation() {