From 0eaa0bf5c593f82fcdbae74f341d78c9f1721c93 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Thu, 5 Jan 2017 22:01:37 +0100 Subject: Do not compress GIFs, allow GBoard to send GIFs --- .../java/de/pixart/messenger/utils/MimeUtils.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/main/java/de/pixart/messenger/utils/MimeUtils.java') 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; + } } -- cgit v1.2.3