From 47b6cbe5dfcde17947fc5b6db962b180be2d2192 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Tue, 21 Nov 2017 20:19:30 +0100 Subject: catch all RuntimeExceptions when using MetadataRetriever --- .../java/de/pixart/messenger/persistance/FileBackend.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/main/java/de/pixart/messenger') diff --git a/src/main/java/de/pixart/messenger/persistance/FileBackend.java b/src/main/java/de/pixart/messenger/persistance/FileBackend.java index 79e8980e9..0db865236 100644 --- a/src/main/java/de/pixart/messenger/persistance/FileBackend.java +++ b/src/main/java/de/pixart/messenger/persistance/FileBackend.java @@ -529,7 +529,7 @@ public class FileBackend { frame = metadataRetriever.getFrameAtTime(0); metadataRetriever.release(); frame = resize(frame, size); - } catch (IllegalArgumentException | NullPointerException e) { + } catch(RuntimeException e) { frame = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888); frame.eraseColor(0xff000000); } @@ -871,7 +871,7 @@ public class FileBackend { MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever(); mediaMetadataRetriever.setDataSource(file.toString()); return Integer.parseInt(mediaMetadataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)); - } catch (IllegalArgumentException e) { + } catch (RuntimeException e) { return 0; } } @@ -939,7 +939,7 @@ public class FileBackend { MediaMetadataRetriever metadataRetriever = new MediaMetadataRetriever(); try { metadataRetriever.setDataSource(file.getAbsolutePath()); - } catch (Exception e) { + } catch (RuntimeException e) { throw new NotAVideoFile(e); } return getVideoDimensions(metadataRetriever); @@ -949,7 +949,11 @@ public class FileBackend { private static Dimensions getVideoDimensions(Context context, Uri uri) throws NotAVideoFile { MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever(); try { - mediaMetadataRetriever.setDataSource(context, uri); + try { + mediaMetadataRetriever.setDataSource(context, uri); + } catch (RuntimeException e) { + throw new NotAVideoFile(e); + } } catch (Exception e) { throw new NotAVideoFile(); } -- cgit v1.2.3