From 34949eccad2a48fe01cfc279655f3748de21d93a Mon Sep 17 00:00:00 2001 From: Yuriy Kuchynskyy Date: Thu, 20 Jul 2017 19:07:44 -0700 Subject: [PATCH] image can be closed, adding an extra catch --- .../camerafragment/internal/utils/ImageSaver.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/camerafragment/src/main/java/com/github/florent37/camerafragment/internal/utils/ImageSaver.java b/camerafragment/src/main/java/com/github/florent37/camerafragment/internal/utils/ImageSaver.java index 7b21849..df7e818 100644 --- a/camerafragment/src/main/java/com/github/florent37/camerafragment/internal/utils/ImageSaver.java +++ b/camerafragment/src/main/java/com/github/florent37/camerafragment/internal/utils/ImageSaver.java @@ -36,17 +36,20 @@ public class ImageSaver implements Runnable { @TargetApi(Build.VERSION_CODES.KITKAT) @Override public void run() { - ByteBuffer buffer = image.getPlanes()[0].getBuffer(); - byte[] bytes = new byte[buffer.remaining()]; - buffer.get(bytes); FileOutputStream output = null; try { + ByteBuffer buffer = image.getPlanes()[0].getBuffer(); + byte[] bytes = new byte[buffer.remaining()]; + buffer.get(bytes); output = new FileOutputStream(file); output.write(bytes); imageSaverCallback.onSuccessFinish(bytes); } catch (IOException ignore) { Log.e(TAG, "Can't save the image file."); imageSaverCallback.onError(); + } catch (IllegalStateException e) { + Log.e(TAG, "Can't read the image file.", e); + imageSaverCallback.onError(); } finally { image.close(); if (null != output) {