Fix 5611147 attachments (picture) can't be viewed after they're saved

Change-Id: I0de0b8c176e1c3f838e81e3549c6795613b90069
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);