summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOwen Lin <owenlin@google.com>2012-10-04 16:15:07 +0800
committerOwen Lin <owenlin@google.com>2012-10-04 16:37:34 +0800
commit5a7157733bb2229642866a3bb4cbc6850c995a9d (patch)
tree9a606bf0b1030cc8bbd1f714366a5209fd9160ed
parent46a19abfb337f168ed3d6694ea812dcf05d4a1ba (diff)
downloadandroid_packages_apps_Snap-5a7157733bb2229642866a3bb4cbc6850c995a9d.tar.gz
android_packages_apps_Snap-5a7157733bb2229642866a3bb4cbc6850c995a9d.tar.bz2
android_packages_apps_Snap-5a7157733bb2229642866a3bb4cbc6850c995a9d.zip
Fix NPE in ImageLoader.
bug: 7275805 Change-Id: Ied04553a97efe5b4996418f20d834d6bd0893976
-rw-r--r--src/com/android/gallery3d/filtershow/cache/ImageLoader.java48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
index 100a17bf0..ac16c13cd 100644
--- a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
+++ b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
@@ -1,22 +1,7 @@
package com.android.gallery3d.filtershow.cache;
-import java.io.Closeable;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Vector;
-
-import com.android.gallery3d.common.Utils;
-import com.android.gallery3d.filtershow.FilterShowActivity;
-import com.android.gallery3d.filtershow.HistoryAdapter;
-import com.android.gallery3d.filtershow.imageshow.ImageShow;
-import com.android.gallery3d.filtershow.presets.ImagePreset;
-import com.android.gallery3d.filtershow.tools.SaveCopyTask;
-import com.android.gallery3d.filtershow.tools.ProcessedBitmap;
-import com.android.gallery3d.R;
-
+import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
import android.database.Cursor;
@@ -29,6 +14,22 @@ import android.net.Uri;
import android.provider.MediaStore;
import android.util.Log;
+import com.android.gallery3d.R;
+import com.android.gallery3d.common.Utils;
+import com.android.gallery3d.filtershow.FilterShowActivity;
+import com.android.gallery3d.filtershow.HistoryAdapter;
+import com.android.gallery3d.filtershow.imageshow.ImageShow;
+import com.android.gallery3d.filtershow.presets.ImagePreset;
+import com.android.gallery3d.filtershow.tools.ProcessedBitmap;
+import com.android.gallery3d.filtershow.tools.SaveCopyTask;
+
+import java.io.Closeable;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Vector;
+
public class ImageLoader {
private static final String LOGTAG = "ImageLoader";
@@ -66,6 +67,10 @@ public class ImageLoader {
}
private int getOrientation(Uri uri) {
+ if (ContentResolver.SCHEME_FILE.equals(uri.getScheme())) {
+ return getOrientationFromPath(uri.getPath());
+ }
+
Cursor cursor = null;
try {
cursor = mContext.getContentResolver().query(uri,
@@ -73,17 +78,12 @@ public class ImageLoader {
MediaStore.Images.ImageColumns.ORIENTATION
},
null, null, null);
+ return cursor.moveToNext() ? cursor.getInt(0) : -1;
} catch (SQLiteException e){
- Utils.closeSilently(cursor);
return ExifInterface.ORIENTATION_UNDEFINED;
+ } finally {
+ Utils.closeSilently(cursor);
}
-
- if (cursor.getCount() != 1) {
- return -1;
- }
-
- cursor.moveToFirst();
- return cursor.getInt(0);
}
private int getOrientationFromPath(String path) {