summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2014-10-30 10:29:03 -0700
committerAlan Viverette <alanv@google.com>2014-10-30 10:29:03 -0700
commit7f4a63d1ebc13c6499a48331ecb78c4d27446dbc (patch)
tree90c9830d6fe16da6753b1c6b0457fd71f4d0fac4 /graphics
parent674a3a21cba94c129b322b05bbaaf9b1fc8afbd8 (diff)
downloadframeworks_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')
-rw-r--r--graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java2
-rw-r--r--graphics/java/android/graphics/drawable/ClipDrawable.java2
-rw-r--r--graphics/java/android/graphics/drawable/RotateDrawable.java19
-rw-r--r--graphics/java/android/graphics/drawable/ScaleDrawable.java2
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);