diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-09-27 20:08:49 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-09-27 20:08:49 +0200 |
commit | 5b9784a7898451ad867ba1e25d151a6b6d97da8d (patch) | |
tree | 51b9265dd332ecdf8f61e1b7864b7cd1450b1f17 /src/main/java/de/pixart/messenger/persistance | |
parent | f67821752d81253478ac248e62482d6d89427e41 (diff) |
do not compress/resize images with strange aspect ratios
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/persistance/FileBackend.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/persistance/FileBackend.java b/src/main/java/de/pixart/messenger/persistance/FileBackend.java index 822fa6318..8397a7bb8 100644 --- a/src/main/java/de/pixart/messenger/persistance/FileBackend.java +++ b/src/main/java/de/pixart/messenger/persistance/FileBackend.java @@ -491,6 +491,18 @@ public class FileBackend { updateFileParams(message); } + public boolean unusualBounds(Uri image) { + try { + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inJustDecodeBounds = true; + BitmapFactory.decodeStream(mXmppConnectionService.getContentResolver().openInputStream(image), null, options); + float ratio = (float) options.outHeight / options.outWidth; + return ratio > (21.0f / 9.0f) || ratio < (9.0f / 21.0f); + } catch (Exception e) { + return false; + } + } + private int getRotation(File file) { return getRotation(Uri.parse("file://" + file.getAbsolutePath())); } |