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

Commit 14516dba authored by Nader Jawad's avatar Nader Jawad
Browse files

Updated GradientDrawable setColor(ColorStateList) implementation to

match corresponding documentation to fall back to
setColor(Color.TRANSPARENT) in the event that null is passed as the
ColorStateList parameter

Refactored implementation to directly call setColor(Color.TRANSPARENT)
if setColor(null) is invoked, otherwise configure the solid colors and
the fill Paint color to the ColorStateList and resolved color for the
given state

Bug: 64951083
Test: Compiled, flashed an updated build of master onto taimen and
re-ran tests with updated implementation in GradientDrawableTest

Change-Id: Ia7e9a995fc78e49d601931ca6af81470d90f8439
parent 27cc5aa2
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -930,17 +930,16 @@ public class GradientDrawable extends Drawable {
     * @see #getColor
     */
    public void setColor(@Nullable ColorStateList colorStateList) {
        mGradientState.setSolidColors(colorStateList);
        final int color;
        if (colorStateList == null) {
            color = Color.TRANSPARENT;
            setColor(Color.TRANSPARENT);
        } else {
            final int[] stateSet = getState();
            color = colorStateList.getColorForState(stateSet, 0);
        }
            final int color = colorStateList.getColorForState(stateSet, 0);
            mGradientState.setSolidColors(colorStateList);
            mFillPaint.setColor(color);
            invalidateSelf();
        }
    }

    /**
     * Returns the color state list used to fill the shape, or {@code null} if