From aaf3ecaf4146e35ee4b7f3d2c04c6b83a781fc93 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Mon, 31 Aug 2015 20:19:26 +0200 Subject: [PATCH] made useImageAsIs determination a bit more foolproof (samsung) --- .../eu/siacs/conversations/persistance/FileBackend.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java index d5e4645ea..817f1c514 100644 --- a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java @@ -131,11 +131,16 @@ public class FileBackend { if (path == null) { return false; } + File file = new File(path); + long size = file.length(); + if (size == 0 || size >= 524288 ) { + return false; + } BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; try { BitmapFactory.decodeStream(mXmppConnectionService.getContentResolver().openInputStream(uri), null, options); - if (options == null || options.outMimeType == null) { + if (options == null || options.outMimeType == null || options.outHeight <= 0 || options.outWidth <= 0) { return false; } return (options.outWidth <= Config.IMAGE_SIZE && options.outHeight <= Config.IMAGE_SIZE && options.outMimeType.contains(Config.IMAGE_FORMAT.name().toLowerCase()));