diff options
author | Alan Viverette <alanv@google.com> | 2014-10-30 10:29:03 -0700 |
---|---|---|
committer | Alan Viverette <alanv@google.com> | 2014-10-30 10:29:03 -0700 |
commit | 7f4a63d1ebc13c6499a48331ecb78c4d27446dbc (patch) | |
tree | 90c9830d6fe16da6753b1c6b0457fd71f4d0fac4 /graphics | |
parent | 674a3a21cba94c129b322b05bbaaf9b1fc8afbd8 (diff) | |
download | frameworks_base-7f4a63d1ebc13c6499a48331ecb78c4d27446dbc.zip frameworks_base-7f4a63d1ebc13c6499a48331ecb78c4d27446dbc.tar.gz frameworks_base-7f4a63d1ebc13c6499a48331ecb78c4d27446dbc.tar.bz2 |
Ensure we don't pass null values in to Theme.resolveAttributes
BUG: 18182274
Change-Id: I08acf877cb81478cc205254edf92a31fcf05991d
Diffstat (limited to 'graphics')
4 files changed, 14 insertions, 11 deletions
diff --git a/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java b/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java index 3b125fd..5a3a617 100644 --- a/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java +++ b/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java @@ -361,7 +361,7 @@ public class AnimatedStateListDrawable extends StateListDrawable { super.applyTheme(theme); final AnimatedStateListState state = mState; - if (state == null || !state.canApplyTheme()) { + if (state == null || state.mAnimThemeAttrs == null) { return; } diff --git a/graphics/java/android/graphics/drawable/ClipDrawable.java b/graphics/java/android/graphics/drawable/ClipDrawable.java index f80a5f4..e5b2b76 100644 --- a/graphics/java/android/graphics/drawable/ClipDrawable.java +++ b/graphics/java/android/graphics/drawable/ClipDrawable.java @@ -148,7 +148,7 @@ public class ClipDrawable extends Drawable implements Drawable.Callback { super.applyTheme(t); final ClipState state = mState; - if (state == null) { + if (state == null || state.mThemeAttrs == null) { return; } diff --git a/graphics/java/android/graphics/drawable/RotateDrawable.java b/graphics/java/android/graphics/drawable/RotateDrawable.java index 9208a0a..3304b33 100644 --- a/graphics/java/android/graphics/drawable/RotateDrawable.java +++ b/graphics/java/android/graphics/drawable/RotateDrawable.java @@ -427,19 +427,22 @@ public class RotateDrawable extends Drawable implements Drawable.Callback { return; } - final TypedArray a = t.resolveAttributes(state.mThemeAttrs, R.styleable.RotateDrawable); - try { - updateStateFromTypedArray(a); - verifyRequiredAttributes(a); - } catch (XmlPullParserException e) { - throw new RuntimeException(e); - } finally { - a.recycle(); + if (state.mThemeAttrs != null) { + final TypedArray a = t.resolveAttributes(state.mThemeAttrs, R.styleable.RotateDrawable); + try { + updateStateFromTypedArray(a); + verifyRequiredAttributes(a); + } catch (XmlPullParserException e) { + throw new RuntimeException(e); + } finally { + a.recycle(); + } } if (state.mDrawable != null && state.mDrawable.canApplyTheme()) { state.mDrawable.applyTheme(t); } + } private void inflateChildElements(Resources r, XmlPullParser parser, AttributeSet attrs, diff --git a/graphics/java/android/graphics/drawable/ScaleDrawable.java b/graphics/java/android/graphics/drawable/ScaleDrawable.java index fbe38b4..35ef76f 100644 --- a/graphics/java/android/graphics/drawable/ScaleDrawable.java +++ b/graphics/java/android/graphics/drawable/ScaleDrawable.java @@ -114,7 +114,7 @@ public class ScaleDrawable extends Drawable implements Drawable.Callback { return; } - if (state.mThemeAttrs == null) { + if (state.mThemeAttrs != null) { final TypedArray a = t.resolveAttributes(state.mThemeAttrs, R.styleable.ScaleDrawable); try { updateStateFromTypedArray(a); |