diff options
author | herriojr <jherriott@cyngn.com> | 2015-09-29 15:13:38 -0700 |
---|---|---|
committer | herriojr <jherriott@cyngn.com> | 2015-09-29 16:11:13 -0700 |
commit | 04870c106b59eefdbcd93c3b16f37bf18e5fe4ad (patch) | |
tree | 218535431b341cbf620e2f70f891719b8bb4ba24 /src/com/android/providers/downloads/OpenHelper.java | |
parent | 193bc2b890a7ca26dc0ba31bbdd823fdddac01de (diff) | |
download | android_packages_providers_DownloadProvider-04870c106b59eefdbcd93c3b16f37bf18e5fe4ad.tar.gz android_packages_providers_DownloadProvider-04870c106b59eefdbcd93c3b16f37bf18e5fe4ad.tar.bz2 android_packages_providers_DownloadProvider-04870c106b59eefdbcd93c3b16f37bf18e5fe4ad.zip |
Fixed application/octet-stream to guess mimetype
When being downloaded, some files were being classified as
application/octet-stream in the response even though they are
a valid mimetype. This adds in guessing the mimetype before
sending off the intent. It was chosen to put this here
instead of when it is downloaded to make it backwards compatible
with files that already exist in people's downloads.
Change-Id: Id5fc9a3cca6851677b066854fcdccb5ae4fade7c
Issue-Id: CYNGNOS-1153
Diffstat (limited to 'src/com/android/providers/downloads/OpenHelper.java')
-rw-r--r-- | src/com/android/providers/downloads/OpenHelper.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/OpenHelper.java b/src/com/android/providers/downloads/OpenHelper.java index 4eb319c4..0a12daac 100644 --- a/src/com/android/providers/downloads/OpenHelper.java +++ b/src/com/android/providers/downloads/OpenHelper.java @@ -32,6 +32,7 @@ import android.database.Cursor; import android.net.Uri; import android.provider.Downloads.Impl.RequestHeaders; import android.util.Log; +import android.webkit.MimeTypeMap; import java.io.File; @@ -75,6 +76,14 @@ public class OpenHelper { final Uri localUri = getCursorUri(cursor, COLUMN_LOCAL_URI); final File file = getCursorFile(cursor, COLUMN_LOCAL_FILENAME); String mimeType = getCursorString(cursor, COLUMN_MEDIA_TYPE); + if ("application/octet-stream".equals(mimeType)) { + MimeTypeMap m = MimeTypeMap.getSingleton(); + String guess = m.getMimeTypeFromExtension( + m.getFileExtensionFromUrl(localUri.toString())); + if (guess != null) { + mimeType = guess; + } + } mimeType = DownloadDrmHelper.getOriginalMimeType(context, file, mimeType); final Intent intent = new Intent(Intent.ACTION_VIEW); |