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

Commit ee7c65d5 authored by Alan Viverette's avatar Alan Viverette
Browse files

Only verify resolved theme attributes

Bug: 19962473
Change-Id: I62eb2faea7b09fd483194b41e815179cb2141fcb
parent 9aaaa1eb
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -721,7 +721,7 @@ public class BitmapDrawable extends Drawable {

        final TypedArray a = obtainAttributes(r, theme, attrs, R.styleable.BitmapDrawable);
        updateStateFromTypedArray(a);
        verifyState(a);
        verifyRequiredAttributes(a);
        a.recycle();

        // Update local properties.
@@ -733,11 +733,13 @@ public class BitmapDrawable extends Drawable {
     *
     * @throws XmlPullParserException if any required attributes are missing
     */
    private void verifyState(TypedArray a) throws XmlPullParserException {
    private void verifyRequiredAttributes(TypedArray a) throws XmlPullParserException {
        // If we're not waiting on a theme, verify required attributes.
        final BitmapState state = mBitmapState;
        if (state.mBitmap == null) {
        if (state.mBitmap == null && (state.mThemeAttrs == null
                || state.mThemeAttrs[R.styleable.BitmapDrawable_src] == 0)) {
            throw new XmlPullParserException(a.getPositionDescription() +
                    ": <bitmap> requires a valid src attribute");
                    ": <bitmap> requires a valid 'src' attribute");
        }
    }

@@ -759,7 +761,7 @@ public class BitmapDrawable extends Drawable {
            final Bitmap bitmap = BitmapFactory.decodeResource(r, srcResId);
            if (bitmap == null) {
                throw new XmlPullParserException(a.getPositionDescription() +
                        ": <bitmap> requires a valid src attribute");
                        ": <bitmap> requires a valid 'src' attribute");
            }

            state.mBitmap = bitmap;