aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/utils/MimeUtils.java
diff options
context:
space:
mode:
authorMichael Eden <themichaeleden@gmail.com>2016-12-30 15:48:39 -0500
committerMichael Eden <themichaeleden@gmail.com>2017-01-01 16:16:35 -0500
commit5a670c88b081d3f9b8d33e37fd8d966f04c245fc (patch)
tree6b43b604c73109452cb9acc07c832b8c52e4197a /src/main/java/eu/siacs/conversations/utils/MimeUtils.java
parent8c34bb3c6fb2be87eb9103bb2b647e2c7c80bfbc (diff)
Do not compress GIFs, allow GBoard to send GIFs
Diffstat (limited to '')
-rw-r--r--src/main/java/eu/siacs/conversations/utils/MimeUtils.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/eu/siacs/conversations/utils/MimeUtils.java b/src/main/java/eu/siacs/conversations/utils/MimeUtils.java
index d4544424..b65eb73c 100644
--- a/src/main/java/eu/siacs/conversations/utils/MimeUtils.java
+++ b/src/main/java/eu/siacs/conversations/utils/MimeUtils.java
@@ -14,6 +14,9 @@
* limitations under the License.
*/
package eu.siacs.conversations.utils;
+import android.content.Context;
+import android.net.Uri;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -484,4 +487,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;
+ }
}