diff options
author | Chih-Chung Chang <chihchung@google.com> | 2009-08-28 16:21:16 +0800 |
---|---|---|
committer | Chih-Chung Chang <chihchung@google.com> | 2009-08-28 17:37:50 +0800 |
commit | 0f1e5801cbddffccf95e639b2096dd6c90b6af26 (patch) | |
tree | 5b1c6a273441b876e2370b49de8e86186cceafb6 /src/com/android/camera | |
parent | 639b55e433ed6039ac30f1ccfdb990fd1c0a1c41 (diff) | |
download | LegacyCamera-0f1e5801cbddffccf95e639b2096dd6c90b6af26.zip LegacyCamera-0f1e5801cbddffccf95e639b2096dd6c90b6af26.tar.gz LegacyCamera-0f1e5801cbddffccf95e639b2096dd6c90b6af26.tar.bz2 |
Fix 2083639: Crash on Camera while previewing an attachment through Email/gmail/browser app
Change-Id: I69ca1ae148070d3428d3488416308431c82a103c
Diffstat (limited to 'src/com/android/camera')
-rw-r--r-- | src/com/android/camera/gallery/IImageList.java | 2 | ||||
-rw-r--r-- | src/com/android/camera/gallery/SingleImageList.java | 35 | ||||
-rw-r--r-- | src/com/android/camera/gallery/UriImage.java | 4 |
3 files changed, 16 insertions, 25 deletions
diff --git a/src/com/android/camera/gallery/IImageList.java b/src/com/android/camera/gallery/IImageList.java index ead9e3b..be85e72 100644 --- a/src/com/android/camera/gallery/IImageList.java +++ b/src/com/android/camera/gallery/IImageList.java @@ -30,7 +30,7 @@ import java.util.HashMap; // - VideoList // - ImageList // - DrmImageList -// - SingleImageList (contains UriImage) +// - SingleImageList (contains UriImage) // - ImageListUber // // IImage diff --git a/src/com/android/camera/gallery/SingleImageList.java b/src/com/android/camera/gallery/SingleImageList.java index d5d56ed..322f3da 100644 --- a/src/com/android/camera/gallery/SingleImageList.java +++ b/src/com/android/camera/gallery/SingleImageList.java @@ -28,65 +28,56 @@ import java.util.HashMap; * An implementation of interface <code>IImageList</code> which contains only * one image. */ -// TODO: consider implements not extends -public class SingleImageList extends BaseImageList { +public class SingleImageList implements IImageList { @SuppressWarnings("unused") private static final String TAG = "BaseImageList"; private IImage mSingleImage; + private Uri mUri; public SingleImageList(ContentResolver resolver, Uri uri) { - super(resolver, uri, ImageManager.SORT_ASCENDING, null); - mSingleImage = new UriImage(this, resolver, mBaseUri); + mUri = uri; + mSingleImage = new UriImage(this, resolver, uri); } public HashMap<String, String> getBucketIds() { throw new UnsupportedOperationException(); } - @Override public int getCount() { return 1; } - @Override public boolean isEmpty() { return false; } - @Override - protected long getImageId(Cursor cursor) { - throw new UnsupportedOperationException(); - } - - @Override public int getImageIndex(IImage image) { return image == mSingleImage ? 0 : -1; } - @Override public IImage getImageAt(int i) { return i == 0 ? mSingleImage : null; } - @Override public boolean removeImage(IImage image) { return false; } - @Override + public boolean removeImageAt(int index) { + return false; + } + public IImage getImageForUri(Uri uri) { - return uri.equals(mBaseUri) ? mSingleImage : null; + return uri.equals(mUri) ? mSingleImage : null; } - @Override - protected Cursor createCursor() { - throw new UnsupportedOperationException(); + public void checkThumbnail(int index) { } - @Override - protected BaseImage loadImageFromCursor(Cursor cursor) { - throw new UnsupportedOperationException(); + public void close() { + mSingleImage = null; + mUri = null; } } diff --git a/src/com/android/camera/gallery/UriImage.java b/src/com/android/camera/gallery/UriImage.java index e09dae7..091a3b7 100644 --- a/src/com/android/camera/gallery/UriImage.java +++ b/src/com/android/camera/gallery/UriImage.java @@ -33,10 +33,10 @@ import java.io.InputStream; class UriImage implements IImage { private static final String TAG = "UriImage"; private final Uri mUri; - private final BaseImageList mContainer; + private final IImageList mContainer; private final ContentResolver mContentResolver; - UriImage(BaseImageList container, ContentResolver cr, Uri uri) { + UriImage(IImageList container, ContentResolver cr, Uri uri) { mContainer = container; mContentResolver = cr; mUri = uri; |