summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDeepanshu Gupta <deepanshu@google.com>2014-06-23 18:37:53 -0700
committerDeepanshu Gupta <deepanshu@google.com>2014-06-23 18:40:47 -0700
commite1d04d5421c3aa3c4cea5da56b3201a942392a85 (patch)
tree7d37853fd22d0e52aba864d66bc4668e947790e4
parent8dcfd4abe898bb2cd7a13edf77d41e4063180652 (diff)
downloadframeworks_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.java19
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;