diff options
author | Owen Lin <owenlin@google.com> | 2012-10-04 16:15:07 +0800 |
---|---|---|
committer | Owen Lin <owenlin@google.com> | 2012-10-04 16:37:34 +0800 |
commit | 5a7157733bb2229642866a3bb4cbc6850c995a9d (patch) | |
tree | 9a606bf0b1030cc8bbd1f714366a5209fd9160ed | |
parent | 46a19abfb337f168ed3d6694ea812dcf05d4a1ba (diff) | |
download | android_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.java | 48 |
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) { |