Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ebf2466 authored by Vinit Nayak's avatar Vinit Nayak
Browse files

Crop windowing layer to that of display size in screen rotation animation

* Wallpaper is larger than display bounds,
so rotating launcher or other apps that are not
opaque will show the wallpaper in background

Bug: 222632469
Change-Id: I1b23e1da0d8acffdbe7245030095a029e314af0f
parent aa96d79c
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -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() {