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

Commit c5f71969 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fixed NaN exceptions in EdgeEffect" into sc-dev

parents 9ba0f37f 3a0b122b
Loading
Loading
Loading
Loading
+23 −12
Original line number Diff line number Diff line
@@ -626,10 +626,20 @@ public class EdgeEffect {
            // assume rotations of increments of 90 degrees
            float x = mTmpPoints[10] - mTmpPoints[8];
            float width = right - left;
            float vecX = dampStretchVector(Math.max(-1f, Math.min(1f, x / width)));
            float vecX = 0f;
            if (width > 0) {
                vecX = dampStretchVector(Math.max(-1f, Math.min(1f, x / width)));
            }

            float y = mTmpPoints[11] - mTmpPoints[9];
            float height = bottom - top;
            float vecY = dampStretchVector(Math.max(-1f, Math.min(1f, y / height)));
            float vecY = 0f;
            if (height > 0) {
                vecY = dampStretchVector(Math.max(-1f, Math.min(1f, y / height)));
            }

            boolean hasStretchVectors = Float.compare(vecX, 0) != 0 || Float.compare(vecY, 0) != 0;
            if (right > left && bottom > top && mWidth > 0 && mHeight > 0 && hasStretchVectors) {
                renderNode.stretch(
                        left,
                        top,
@@ -640,6 +650,7 @@ public class EdgeEffect {
                        mWidth,
                        mHeight
                );
            }
        } else {
            // This is TYPE_STRETCH and drawing into a Canvas that isn't a Recording Canvas,
            // so no effect can be shown. Just end the effect.