From db7097e5c5b3fff7fbb43fe830808b18410e48bf Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Tue, 19 Jul 2022 00:03:11 +0000 Subject: [PATCH] Revert "Revert "Crop windowing layer to that of display size in screen rotation animation"" This reverts commit e9159b452116833cff6202c7e6efa91ff62d6724. Reason for revert: Unrelated to original revert reason Change-Id: Iea7121498d567bdf4da5609a1c98b30063ab15d9 --- .../com/android/server/wm/ScreenRotationAnimation.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java index f80e732c8212a..d09068b02fd49 100644 --- a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java +++ b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java @@ -600,7 +600,7 @@ class ScreenRotationAnimation { } private SurfaceAnimator startDisplayRotation() { - return startAnimation(initializeBuilder() + SurfaceAnimator animator = startAnimation(initializeBuilder() .setAnimationLeashParent(mDisplayContent.getSurfaceControl()) .setSurfaceControl(mDisplayContent.getWindowingLayer()) .setParentSurfaceControl(mDisplayContent.getSurfaceControl()) @@ -609,6 +609,13 @@ class ScreenRotationAnimation { .build(), createWindowAnimationSpec(mRotateEnterAnimation), 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() {