Fix NPE in ShadowBitmapRegionDecoder
BitmapRegionDecoder should not crash if it can't determine the size of
an image (for example, if trying to load a bitmap written using
Bitmap.compress).
diff --git a/robolectric-shadows/shadows-core/src/main/java/org/robolectric/shadows/ShadowBitmapRegionDecoder.java b/robolectric-shadows/shadows-core/src/main/java/org/robolectric/shadows/ShadowBitmapRegionDecoder.java
index 4865a3f..913687e 100644
--- a/robolectric-shadows/shadows-core/src/main/java/org/robolectric/shadows/ShadowBitmapRegionDecoder.java
+++ b/robolectric-shadows/shadows-core/src/main/java/org/robolectric/shadows/ShadowBitmapRegionDecoder.java
@@ -40,10 +40,12 @@
}
private static BitmapRegionDecoder fillWidthAndHeight(BitmapRegionDecoder bitmapRegionDecoder, InputStream is) {
- Point imageSize = ImageUtil.getImageSizeFromStream(is);
ShadowBitmapRegionDecoder shadowDecoder = shadowOf(bitmapRegionDecoder);
- shadowDecoder.width = imageSize.x;
- shadowDecoder.height = imageSize.y;
+ Point imageSize = ImageUtil.getImageSizeFromStream(is);
+ if (imageSize != null) {
+ shadowDecoder.width = imageSize.x;
+ shadowDecoder.height = imageSize.y;
+ }
return bitmapRegionDecoder;
}