diff options
author | Christian Schneppe <christian@pix-art.de> | 2017-01-05 22:01:37 +0100 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2017-01-05 22:01:37 +0100 |
commit | 0eaa0bf5c593f82fcdbae74f341d78c9f1721c93 (patch) | |
tree | f459b636dc2df9b5ed9ef148dd2cfcd34e99609b /src/main/java/de/pixart/messenger/utils/MimeUtils.java | |
parent | aebd53cd23616582bfee79ce498a03a5429445bf (diff) |
Do not compress GIFs, allow GBoard to send GIFs
Diffstat (limited to 'src/main/java/de/pixart/messenger/utils/MimeUtils.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/utils/MimeUtils.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/utils/MimeUtils.java b/src/main/java/de/pixart/messenger/utils/MimeUtils.java index 366ed308b..bdcd82bae 100644 --- a/src/main/java/de/pixart/messenger/utils/MimeUtils.java +++ b/src/main/java/de/pixart/messenger/utils/MimeUtils.java @@ -15,6 +15,9 @@ */ package de.pixart.messenger.utils; +import android.content.Context; +import android.net.Uri; + import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -499,4 +502,22 @@ public final class MimeUtils { } return mimeTypeToExtensionMap.get(mimeType); } + + public static String guessMimeTypeFromUri(Context context, Uri uri) { + // try the content resolver + String mimeType = context.getContentResolver().getType(uri); + // try the extension + if (mimeType == null && uri.getPath() != null) { + String path = uri.getPath(); + int start = path.lastIndexOf('.') + 1; + if (start < path.length()) { + mimeType = MimeUtils.guessMimeTypeFromExtension(path.substring(start)); + } + } + // sometimes this works (as with the commit content api) + if (mimeType == null) { + mimeType = uri.getQueryParameter("mimeType"); + } + return mimeType; + } } |