From 053e3071b7728157bb143d15b6c325fb0b45d91d Mon Sep 17 00:00:00 2001 From: Nathanael Anderson Date: Thu, 23 Mar 2017 02:42:02 -0600 Subject: [PATCH] Fix for ImageResizer crashing the application when a broken image is retrieved... (#72) --- .../org/nativescript/widgets/Image/Resizer.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/android/widgets/src/main/java/org/nativescript/widgets/Image/Resizer.java b/android/widgets/src/main/java/org/nativescript/widgets/Image/Resizer.java index 770303c3a..472cb4db5 100644 --- a/android/widgets/src/main/java/org/nativescript/widgets/Image/Resizer.java +++ b/android/widgets/src/main/java/org/nativescript/widgets/Image/Resizer.java @@ -147,7 +147,18 @@ public abstract class Resizer extends Worker { addInBitmapOptions(options, cache); } - return BitmapFactory.decodeFileDescriptor(fileDescriptor, null, options); + Bitmap results = null; + try { + // This can throw an error on a corrupted image when using an inBitmap + results = BitmapFactory.decodeFileDescriptor(fileDescriptor, null, options); + } + catch (Exception e) { + // clear the inBitmap and try again + options.inBitmap = null; + results = BitmapFactory.decodeFileDescriptor(fileDescriptor, null, options); + // If image is broken, rather than an issue with the inBitmap, we will get a NULL out in this case... + } + return results; } public static Bitmap decodeSampledBitmapFromByteArray(