diff options
author | Deepanshu Gupta <deepanshu@google.com> | 2014-06-23 18:37:53 -0700 |
---|---|---|
committer | Deepanshu Gupta <deepanshu@google.com> | 2014-06-23 18:40:47 -0700 |
commit | e1d04d5421c3aa3c4cea5da56b3201a942392a85 (patch) | |
tree | 7d37853fd22d0e52aba864d66bc4668e947790e4 | |
parent | 8dcfd4abe898bb2cd7a13edf77d41e4063180652 (diff) | |
download | frameworks_base-e1d04d5421c3aa3c4cea5da56b3201a942392a85.zip frameworks_base-e1d04d5421c3aa3c4cea5da56b3201a942392a85.tar.gz frameworks_base-e1d04d5421c3aa3c4cea5da56b3201a942392a85.tar.bz2 |
Fix NPE in Ninepatch creation.
Change-Id: Icead69cd8503e90aeb54ff42f9ec297e7af2b518
-rw-r--r-- | tools/layoutlib/bridge/src/android/graphics/BitmapFactory_Delegate.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/tools/layoutlib/bridge/src/android/graphics/BitmapFactory_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/BitmapFactory_Delegate.java index 06673c1..9cf777d 100644 --- a/tools/layoutlib/bridge/src/android/graphics/BitmapFactory_Delegate.java +++ b/tools/layoutlib/bridge/src/android/graphics/BitmapFactory_Delegate.java @@ -16,6 +16,7 @@ package android.graphics; +import com.android.annotations.Nullable; import com.android.layoutlib.bridge.Bridge; import com.android.layoutlib.bridge.impl.DelegateManager; import com.android.ninepatch.NinePatchChunk; @@ -48,7 +49,7 @@ import java.util.Set; @LayoutlibDelegate /*package*/ static Bitmap nativeDecodeStream(InputStream is, byte[] storage, - Rect padding, Options opts) { + @Nullable Rect padding, @Nullable Options opts) { Bitmap bm = null; Density density = Density.MEDIUM; @@ -77,18 +78,20 @@ import java.util.Set; // put the chunk in the bitmap bm.setNinePatchChunk(NinePatch_Delegate.serialize(chunk)); - // read the padding - int[] paddingarray = chunk.getPadding(); - padding.left = paddingarray[0]; - padding.top = paddingarray[1]; - padding.right = paddingarray[2]; - padding.bottom = paddingarray[3]; + if (padding != null) { + // read the padding + int[] paddingArray = chunk.getPadding(); + padding.left = paddingArray[0]; + padding.top = paddingArray[1]; + padding.right = paddingArray[2]; + padding.bottom = paddingArray[3]; + } } else { // load the bitmap directly. bm = Bitmap_Delegate.createBitmap(is, bitmapCreateFlags, density); } } catch (IOException e) { - Bridge.getLog().error(null,"Failed to load image" , e, null); + Bridge.getLog().error(null, "Failed to load image", e, null); } return bm; |