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

Commit e0a46855 authored by John Reck's avatar John Reck
Browse files

Fix initial starting bounds for SV crop

Bug: 378928832
Test: bubbles test apk
Flag: com.android.graphics.hwui.flags.clip_surfaceviews
Change-Id: I59a1ce19a22d87577c069b50abfdc28f4465451b
parent 8bc91885
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -594,14 +594,12 @@ static void android_view_RenderNode_requestPositionUpdates(JNIEnv* env, jobject,
            Matrix4 transform;
            SkIRect clipBounds;
            uirenderer::Rect initialClipBounds;
            const auto clipFlags = props.getClippingFlags();
            if (enableClip) {
                if (clipFlags) {
                    props.getClippingRectForFlags(clipFlags, &initialClipBounds);
                } else {
                    // Works for RenderNode::damageSelf()
                    initialClipBounds.set(DIRTY_MIN, DIRTY_MIN, DIRTY_MAX, DIRTY_MAX);
                }
                // SurfaceView never draws beyond its bounds regardless of if it can or not,
                // so if clip-to-bounds is disabled just use the bounds as the starting point
                // regardless
                const auto clipFlags = props.getClippingFlags();
                props.getClippingRectForFlags(clipFlags | CLIP_TO_BOUNDS, &initialClipBounds);
                clipBounds =
                        info.damageAccumulator
                                ->computeClipAndTransform(initialClipBounds.toSkRect(), &transform)