- moved rotateImage() to BitmapUtils
[pub/Android/ownCloud.git] / src / com / owncloud / android / datamodel / ThumbnailsCacheManager.java
index 5a15832..5472777 100644 (file)
@@ -194,7 +194,7 @@ public class ThumbnailsCacheManager {
                             thumbnail = ThumbnailUtils.extractThumbnail(bitmap, px, px);
                             
                             // Rotate image, obeying exif tag
-                            thumbnail = rotateImage(thumbnail, mFile.getStoragePath());
+                            thumbnail = BitmapUtils.rotateImage(thumbnail, mFile.getStoragePath());
     
                             // Add thumbnail to cache
                             addBitmapToCache(imageKey, thumbnail);
@@ -267,71 +267,4 @@ public class ThumbnailsCacheManager {
         }
     }
     
-    /**
-     * Rotate bitmap according to EXIF orientation. 
-     * Cf. http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/ 
-     * @param bitmap Bitmap to be rotated
-     * @param storagePath Path to source file of bitmap. Needed for EXIF information. 
-     * @return correctly EXIF-rotated bitmap
-     */
-    public static Bitmap rotateImage(Bitmap bitmap, String storagePath){
-        Bitmap resultBitmap = bitmap;
-
-        try
-        {
-            ExifInterface exifInterface = new ExifInterface(storagePath);
-            int orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1);
-
-            Matrix matrix = new Matrix();
-
-            // 1: nothing to do
-            
-            // 2
-            if (orientation == ExifInterface.ORIENTATION_FLIP_HORIZONTAL)
-            {
-                matrix.postScale(-1.0f, 1.0f);
-            }
-            // 3
-            else if (orientation == ExifInterface.ORIENTATION_ROTATE_180)
-            {
-                matrix.postRotate(180);
-            }
-            // 4
-            else if (orientation == ExifInterface.ORIENTATION_FLIP_VERTICAL)
-            {
-                matrix.postScale(1.0f, -1.0f);
-            }
-            // 5
-            else if (orientation == ExifInterface.ORIENTATION_TRANSPOSE)
-            {
-                matrix.postRotate(-90);
-                matrix.postScale(1.0f, -1.0f);
-            }
-            // 6
-            else if (orientation == ExifInterface.ORIENTATION_ROTATE_90)
-            {
-                matrix.postRotate(90);
-            }
-            // 7
-            else if (orientation == ExifInterface.ORIENTATION_TRANSVERSE)
-            {
-                matrix.postRotate(90);
-                matrix.postScale(1.0f, -1.0f);
-            }
-            // 8
-            else if (orientation == ExifInterface.ORIENTATION_ROTATE_270)
-            {
-                matrix.postRotate(270);
-            } 
-            
-            // Rotate the bitmap
-            resultBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
-        }
-        catch (Exception exception)
-        {
-            Log_OC.e(TAG, "Could not rotate the image: " + storagePath);
-        }
-        return resultBitmap;
-    }
-
 }