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

Commit cc3eccf5 authored by Chong Zhang's avatar Chong Zhang
Browse files

Apply final crop during surface preservation

Apply stack crop to the preserved surface so that it doesn't stick over
the dock divider.

bug: 28567495
Change-Id: Ib7a9d8ec82a7752ecbef60a86f441e35e16ac877
parent 53c33d97
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1298,6 +1298,9 @@ class WindowStateAnimator {
        if (!finalClipRect.equals(mLastFinalClipRect)) {
            mLastFinalClipRect.set(finalClipRect);
            mSurfaceController.setFinalCropInTransaction(finalClipRect);
            if (mDestroyPreservedSurfaceUponRedraw && mPendingDestroySurface != null) {
                mPendingDestroySurface.setFinalCropInTransaction(finalClipRect);
            }
        }
    }

@@ -1370,7 +1373,8 @@ class WindowStateAnimator {

        // If we are animating, we either apply the clip before applying all the animation
        // transformation or after all the transformation.
        final boolean useFinalClipRect = isAnimationSet() && stackClip == STACK_CLIP_AFTER_ANIM;
        final boolean useFinalClipRect = isAnimationSet() && stackClip == STACK_CLIP_AFTER_ANIM
                || mDestroyPreservedSurfaceUponRedraw;

        // We need to do some acrobatics with surface position, because their clip region is
        // relative to the inside of the surface, but the stack bounds aren't.