From f888b167c6c1568baffb33be17d230acac1dc63d Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Tue, 2 Sep 2014 11:19:05 +0200 Subject: rotate avatars --- .../conversations/persistance/FileBackend.java | 25 ++++++++++++++-------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'src/eu/siacs') diff --git a/src/eu/siacs/conversations/persistance/FileBackend.java b/src/eu/siacs/conversations/persistance/FileBackend.java index 0af9c6e2..2b2aa86e 100644 --- a/src/eu/siacs/conversations/persistance/FileBackend.java +++ b/src/eu/siacs/conversations/persistance/FileBackend.java @@ -201,17 +201,20 @@ public class FileBackend { private int getRotation(Uri image) { if ("content".equals(image.getScheme())) { - Cursor cursor = context - .getContentResolver() - .query(image, - new String[] { MediaStore.Images.ImageColumns.ORIENTATION }, - null, null, null); - - if (cursor.getCount() != 1) { + try { + Cursor cursor = context + .getContentResolver() + .query(image, + new String[] { MediaStore.Images.ImageColumns.ORIENTATION }, + null, null, null); + if (cursor.getCount() != 1) { + return -1; + } + cursor.moveToFirst(); + return cursor.getInt(0); + } catch (IllegalArgumentException e) { return -1; } - cursor.moveToFirst(); - return cursor.getInt(0); } else { ExifInterface exif; try { @@ -376,6 +379,10 @@ public class FileBackend { if (input == null) { return null; } else { + int rotation = getRotation(image); + if (rotation > 0) { + input = rotate(input, rotation); + } return cropCenterSquare(input, size); } } catch (FileNotFoundException e) { -- cgit v1.2.3