X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/3b3d3e05bc9c9a8e261c8e2b60fe4e879b20035d..d0cee8be8556d1db46ec6193b209f9ffdae104d0:/src/com/owncloud/android/utils/BitmapUtils.java?ds=sidebyside diff --git a/src/com/owncloud/android/utils/BitmapUtils.java b/src/com/owncloud/android/utils/BitmapUtils.java index d87f9bd6..92824f44 100644 --- a/src/com/owncloud/android/utils/BitmapUtils.java +++ b/src/com/owncloud/android/utils/BitmapUtils.java @@ -23,6 +23,10 @@ import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.graphics.BitmapFactory.Options; import android.media.ExifInterface; +import android.net.Uri; +import android.webkit.MimeTypeMap; + +import java.io.File; /** * Utility class with methods for decoding Bitmaps. @@ -159,6 +163,9 @@ public class BitmapUtils { // Rotate the bitmap resultBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); + if (resultBitmap != bitmap) { + bitmap.recycle(); + } } catch (Exception exception) { @@ -166,6 +173,18 @@ public class BitmapUtils { } return resultBitmap; } - + + /** + * Checks if file passed is an image + * @param file + * @return true/false + */ + public static boolean isImage(File file) { + Uri selectedUri = Uri.fromFile(file); + String fileExtension = MimeTypeMap.getFileExtensionFromUrl(selectedUri.toString().toLowerCase()); + String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileExtension); + + return (mimeType != null && mimeType.startsWith("image/")); + } }