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

Commit 88dc8f1e authored by Alan Viverette's avatar Alan Viverette Committed by Android (Google) Code Review
Browse files

Merge "Fix clamped starting position, seek bar hotspot bounds"

parents 29fa9049 30462410
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -467,8 +467,8 @@ public abstract class AbsSeekBar extends ProgressBar {
            final Rect bounds = thumb.getBounds();
            final int offsetX = mPaddingLeft - mThumbOffset;
            final int offsetY = mPaddingTop;
            background.setHotspotBounds(left + offsetX, bounds.top + offsetY,
                    right + offsetX, bounds.bottom + offsetY);
            background.setHotspotBounds(left + offsetX, top + offsetY,
                    right + offsetX, bottom + offsetY);
        }

        // Canvas will be translated, so 0,0 is where we start drawing
+6 −4
Original line number Diff line number Diff line
@@ -142,14 +142,16 @@ class Ripple {
    }

    private void clampStartingPosition() {
        final float dX = mStartingX - mBounds.exactCenterX();
        final float dY = mStartingY - mBounds.exactCenterY();
        final float cX = mBounds.exactCenterX();
        final float cY = mBounds.exactCenterY();
        final float dX = mStartingX - cX;
        final float dY = mStartingY - cY;
        final float r = mOuterRadius;
        if (dX * dX + dY * dY > r * r) {
            // Point is outside the circle, clamp to the circumference.
            final double angle = Math.atan2(dY, dX);
            mClampedStartingX = (float) (Math.cos(angle) * r);
            mClampedStartingY = (float) (Math.sin(angle) * r);
            mClampedStartingX = cX + (float) (Math.cos(angle) * r);
            mClampedStartingY = cY + (float) (Math.sin(angle) * r);
        } else {
            mClampedStartingX = mStartingX;
            mClampedStartingY = mStartingY;