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

Commit 5ff885cd authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

Revert "Add support for tint attribute in VectorDrawable"

This reverts commit ab41ea17e6b0407fa76bc9f9183190a9bbc7f560.

Was causing system UI to crash.
parent 2a070546
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -885,9 +885,9 @@ public class TypedArray {

    /**
     * Extracts theme attributes from a typed array for later resolution using
     * {@link android.content.res.Resources.Theme#resolveAttributes(int[], int[])}.
     * Removes the entries from the typed array so that subsequent calls to typed
     * getters will return the default value without crashing.
     * {@link Theme#resolveAttributes(int[], int[])}. Removes the entries from
     * the typed array so that subsequent calls to typed getters will return the
     * default value without crashing.
     *
     * @return an array of length {@link #getIndexCount()} populated with theme
     *         attributes, or null if there are no theme attributes in the typed
+0 −10
Original line number Diff line number Diff line
@@ -4978,16 +4978,6 @@
    <!-- ========================== -->
    <eat-comment />

    <!-- Drawable used to draw vector paths. -->
    <declare-styleable name="VectorDrawable">
        <!-- If set, specifies the color to apply to the drawable as a tint. By default,
             no tint is applied. May be a color state list. -->
        <attr name="tint" />
        <!-- When a tint color is set, specifies its Porter-Duff blending mode. The
             default value is src_in, which treats the drawable as an alpha mask. -->
        <attr name="tintMode" />
    </declare-styleable>

    <!-- Define the virtual size of the drawing surface paths will draw to. -->
    <declare-styleable name="VectorDrawableViewport">
        <!-- The width of the canvas the drawing is on. -->
+0 −26
Original line number Diff line number Diff line
@@ -378,8 +378,6 @@ public class VectorDrawable extends Drawable {
                        mVGTargetsMap.put(newChildGroup.getGroupName(), newChildGroup);
                    }
                    noGroupTag = false;
                } else if (SHAPE_VECTOR.equals(tagName)) {
                    parseVector(res, attrs);
                }
            } else if (eventType == XmlPullParser.END_TAG) {
                final String tagName = parser.getName();
@@ -419,31 +417,9 @@ public class VectorDrawable extends Drawable {
            throw new XmlPullParserException("no " + tag + " defined");
        }

        mTintFilter = updateTintFilter(mTintFilter, mVectorState.mTint, mVectorState.mTintMode);
        mVectorState.mVPathRenderer.setColorFilter(mTintFilter);

        return pathRenderer;
    }

    private void parseVector(Resources r, AttributeSet attrs) throws XmlPullParserException {
        final TypedArray a = r.obtainAttributes(attrs, R.styleable.VectorDrawable);
        final VectorDrawableState state = mVectorState;

        state.mThemeAttrs = a.extractThemeAttrs();

        final int tintMode = a.getInt(R.styleable.BitmapDrawable_tintMode, -1);
        if (tintMode != -1) {
            state.mTintMode = Drawable.parseTintMode(tintMode, Mode.SRC_IN);
        }

        final ColorStateList tint = a.getColorStateList(R.styleable.BitmapDrawable_tint);
        if (tint != null) {
            state.mTint = tint;
        }

        a.recycle();
    }

    private void printGroupTree(VGroup currentGroup, int level) {
        String indent = "";
        for (int i = 0 ; i < level ; i++) {
@@ -464,7 +440,6 @@ public class VectorDrawable extends Drawable {
    }

    private static class VectorDrawableState extends ConstantState {
        int[] mThemeAttrs;
        int mChangingConfigurations;
        VPathRenderer mVPathRenderer;
        Rect mPadding;
@@ -473,7 +448,6 @@ public class VectorDrawable extends Drawable {

        public VectorDrawableState(VectorDrawableState copy) {
            if (copy != null) {
                mThemeAttrs = copy.mThemeAttrs;
                mChangingConfigurations = copy.mChangingConfigurations;
                // TODO: Make sure the constant state are handled correctly.
                mVPathRenderer = new VPathRenderer(copy.mVPathRenderer);