am d7401652: Fix 5611147 attachments (picture) can\'t be viewed after they\'re saved
* commit 'd74016524fa899747411240daa453e5ca9cac219':
Fix 5611147 attachments (picture) can't be viewed after they're saved
diff --git a/src/com/android/gallery3d/data/MediaItem.java b/src/com/android/gallery3d/data/MediaItem.java
index b34a8c8..1361232 100644
--- a/src/com/android/gallery3d/data/MediaItem.java
+++ b/src/com/android/gallery3d/data/MediaItem.java
@@ -36,6 +36,8 @@
public static final int IMAGE_WAIT = 1;
public static final int IMAGE_ERROR = -1;
+ public static final String MIME_TYPE_JPEG = "image/jpeg";
+
// TODO: fix default value for latlng and change this.
public static final double INVALID_LATLNG = 0f;
diff --git a/src/com/android/gallery3d/data/UriImage.java b/src/com/android/gallery3d/data/UriImage.java
index b8691df..8f91cc0 100644
--- a/src/com/android/gallery3d/data/UriImage.java
+++ b/src/com/android/gallery3d/data/UriImage.java
@@ -70,7 +70,7 @@
String extension =
MimeTypeMap.getFileExtensionFromUrl(uri.toString());
String type = MimeTypeMap.getSingleton()
- .getMimeTypeFromExtension(extension);
+ .getMimeTypeFromExtension(extension.toLowerCase());
if (type != null) return type;
}
return mApplication.getContentResolver().getType(uri);
@@ -106,7 +106,7 @@
|| ContentResolver.SCHEME_ANDROID_RESOURCE.equals(scheme)
|| ContentResolver.SCHEME_FILE.equals(scheme)) {
try {
- if (mContentType.equalsIgnoreCase("image/jpeg")) {
+ if (MIME_TYPE_JPEG.equalsIgnoreCase(mContentType)) {
InputStream is = mApplication.getContentResolver()
.openInputStream(mUri);
mRotation = Exif.getOrientation(is);
@@ -129,7 +129,7 @@
Log.w(TAG, "download failed " + url);
return STATE_ERROR;
}
- if (mContentType.equalsIgnoreCase("image/jpeg")) {
+ if (MIME_TYPE_JPEG.equalsIgnoreCase(mContentType)) {
InputStream is = new FileInputStream(mCacheEntry.cacheFile);
mRotation = Exif.getOrientation(is);
Utils.closeSilently(is);
@@ -253,7 +253,9 @@
details.addDetail(MediaDetails.INDEX_WIDTH, mWidth);
details.addDetail(MediaDetails.INDEX_HEIGHT, mHeight);
}
- details.addDetail(MediaDetails.INDEX_MIMETYPE, mContentType);
+ if (mContentType != null) {
+ details.addDetail(MediaDetails.INDEX_MIMETYPE, mContentType);
+ }
if (ContentResolver.SCHEME_FILE.equals(mUri.getScheme())) {
String filePath = mUri.getPath();
details.addDetail(MediaDetails.INDEX_PATH, filePath);