Prevent unhandled exception in NinePatchDrawable
Added null check in computeBitmapSize() to avoid unhandled exception "java.lang.NullPointerException" at android.graphics.Rect.<init>(Rect.java:72). This problem was discovered in the wild. Change-Id: I9d40629a052f1390e1811288af6209d8cc3f679b
This commit is contained in:
committed by
Jean-Baptiste Queru
parent
beabe75a84
commit
d45a33554c
@@ -164,15 +164,17 @@ public class NinePatchDrawable extends Drawable {
|
|||||||
sdensity, tdensity);
|
sdensity, tdensity);
|
||||||
mBitmapHeight = Bitmap.scaleFromDensity(mNinePatch.getHeight(),
|
mBitmapHeight = Bitmap.scaleFromDensity(mNinePatch.getHeight(),
|
||||||
sdensity, tdensity);
|
sdensity, tdensity);
|
||||||
Rect dest = mPadding;
|
if (mNinePatchState.mPadding != null && mPadding != null) {
|
||||||
Rect src = mNinePatchState.mPadding;
|
Rect dest = mPadding;
|
||||||
if (dest == src) {
|
Rect src = mNinePatchState.mPadding;
|
||||||
mPadding = dest = new Rect(src);
|
if (dest == src) {
|
||||||
|
mPadding = dest = new Rect(src);
|
||||||
|
}
|
||||||
|
dest.left = Bitmap.scaleFromDensity(src.left, sdensity, tdensity);
|
||||||
|
dest.top = Bitmap.scaleFromDensity(src.top, sdensity, tdensity);
|
||||||
|
dest.right = Bitmap.scaleFromDensity(src.right, sdensity, tdensity);
|
||||||
|
dest.bottom = Bitmap.scaleFromDensity(src.bottom, sdensity, tdensity);
|
||||||
}
|
}
|
||||||
dest.left = Bitmap.scaleFromDensity(src.left, sdensity, tdensity);
|
|
||||||
dest.top = Bitmap.scaleFromDensity(src.top, sdensity, tdensity);
|
|
||||||
dest.right = Bitmap.scaleFromDensity(src.right, sdensity, tdensity);
|
|
||||||
dest.bottom = Bitmap.scaleFromDensity(src.bottom, sdensity, tdensity);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user