summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/gallery/Image.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/gallery/Image.java')
-rw-r--r--src/com/android/camera/gallery/Image.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/com/android/camera/gallery/Image.java b/src/com/android/camera/gallery/Image.java
index 9547a1f..7f1e2a7 100644
--- a/src/com/android/camera/gallery/Image.java
+++ b/src/com/android/camera/gallery/Image.java
@@ -28,6 +28,7 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
+import android.provider.BaseColumns;
import android.provider.MediaStore.Images.Thumbnails;
import android.util.Log;
@@ -322,16 +323,22 @@ public class Image extends BaseImage implements IImage {
return true;
}
+ private static final String[] THUMB_PROJECTION = new String[] {
+ BaseColumns._ID,
+ };
+
public Bitmap thumbBitmap() {
Bitmap bitmap = null;
if (mContainer.mThumbUri != null) {
Cursor c = mContentResolver.query(
- mContainer.mThumbUri, BaseImageList.THUMB_PROJECTION,
+ mContainer.mThumbUri, THUMB_PROJECTION,
Thumbnails.IMAGE_ID + "=?",
new String[] { String.valueOf(fullSizeImageId()) },
null);
try {
- if (c.moveToFirst()) bitmap = decodeCurrentImage(c);
+ if (c.moveToFirst()) {
+ bitmap = decodeCurrentImage(c.getLong(0));
+ }
} catch (RuntimeException ex) {
// sdcard removed?
return null;
@@ -354,10 +361,9 @@ public class Image extends BaseImage implements IImage {
return bitmap;
}
- private Bitmap decodeCurrentImage(Cursor c) {
+ private Bitmap decodeCurrentImage(long id) {
Uri thumbUri = ContentUris.withAppendedId(
- mContainer.mThumbUri,
- c.getLong(ImageList.INDEX_THUMB_ID));
+ mContainer.mThumbUri, id);
ParcelFileDescriptor pfdInput;
Bitmap bitmap = null;
try {