Merge "Added null checks to LayerDrawable implementation" into qt-dev am: 6e4e9817b8 am: a0cd0bb78a
am: dff4367bfb
Change-Id: If57d37339fda289c002d154bdf8f3414045ac5e7
diff --git a/graphics/java/android/graphics/drawable/LayerDrawable.java b/graphics/java/android/graphics/drawable/LayerDrawable.java
index f3a1b0e..760d554 100644
--- a/graphics/java/android/graphics/drawable/LayerDrawable.java
+++ b/graphics/java/android/graphics/drawable/LayerDrawable.java
@@ -139,9 +139,12 @@
final ChildDrawable[] r = new ChildDrawable[length];
for (int i = 0; i < length; i++) {
r[i] = new ChildDrawable(mLayerState.mDensity);
- r[i].mDrawable = layers[i];
- layers[i].setCallback(this);
- mLayerState.mChildrenChangingConfigurations |= layers[i].getChangingConfigurations();
+ Drawable child = layers[i];
+ r[i].mDrawable = child;
+ if (child != null) {
+ child.setCallback(this);
+ mLayerState.mChildrenChangingConfigurations |= child.getChangingConfigurations();
+ }
}
mLayerState.mNumChildren = length;
mLayerState.mChildren = r;
@@ -416,7 +419,8 @@
final ChildDrawable[] layers = mLayerState.mChildren;
final int N = mLayerState.mNumChildren;
for (int i = 0; i < N; i++) {
- if (layers[i].mDrawable.isProjected()) {
+ Drawable childDrawable = layers[i].mDrawable;
+ if (childDrawable != null && childDrawable.isProjected()) {
return true;
}
}