Merge branch 'master' of github.com:davemorrissey/subsampling-scale-image-view
diff --git a/library/src/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java b/library/src/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java
index 5fb6ebe..b2ba91c 100644
--- a/library/src/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java
+++ b/library/src/com/davemorrissey/labs/subscaleview/SubsamplingScaleImageView.java
@@ -1664,9 +1664,10 @@
private int getExifOrientation(String sourceUri) {
int exifOrientation = ORIENTATION_0;
if (sourceUri.startsWith(ContentResolver.SCHEME_CONTENT)) {
+ Cursor cursor = null;
try {
- final String[] columns = { MediaStore.Images.Media.ORIENTATION };
- final Cursor cursor = getContext().getContentResolver().query(Uri.parse(sourceUri), columns, null, null, null);
+ String[] columns = { MediaStore.Images.Media.ORIENTATION };
+ cursor = getContext().getContentResolver().query(Uri.parse(sourceUri), columns, null, null, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
int orientation = cursor.getInt(0);
@@ -1676,10 +1677,13 @@
Log.w(TAG, "Unsupported orientation: " + orientation);
}
}
- cursor.close();
}
} catch (Exception e) {
Log.w(TAG, "Could not get orientation of image from media store");
+ } finally {
+ if (cursor != null) {
+ cursor.close();
+ }
}
} else if (sourceUri.startsWith(ImageSource.FILE_SCHEME) && !sourceUri.startsWith(ImageSource.ASSET_SCHEME)) {
try {