diff options
Diffstat (limited to 'src/android/jar/src/org/qtproject/qt/android/multimedia/QtMultimediaUtils.java')
-rw-r--r-- | src/android/jar/src/org/qtproject/qt/android/multimedia/QtMultimediaUtils.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/android/jar/src/org/qtproject/qt/android/multimedia/QtMultimediaUtils.java b/src/android/jar/src/org/qtproject/qt/android/multimedia/QtMultimediaUtils.java index 68f63067e..cae69e7e8 100644 --- a/src/android/jar/src/org/qtproject/qt/android/multimedia/QtMultimediaUtils.java +++ b/src/android/jar/src/org/qtproject/qt/android/multimedia/QtMultimediaUtils.java @@ -44,10 +44,14 @@ import android.content.Context; import android.media.MediaCodecInfo; import android.media.MediaCodecList; import android.view.OrientationEventListener; +import android.webkit.MimeTypeMap; +import android.net.Uri; +import android.content.ContentResolver; import android.os.Environment; import android.media.MediaScannerConnection; import java.lang.String; import java.io.File; +import android.util.Log; public class QtMultimediaUtils { @@ -72,6 +76,7 @@ public class QtMultimediaUtils static private Context m_context = null; static private OrientationListener m_orientationListener = null; + private static final String QtTAG = "Qt QtMultimediaUtils"; static public void setActivity(Activity qtMainActivity, Object qtActivityDelegate) { @@ -138,6 +143,8 @@ public class QtMultimediaUtils MediaScannerConnection.scanFile(m_context, new String[] { file }, null, null); } + static File getCacheDirectory() { return m_context.getCacheDir(); } + /* The array of codecs is in the form: c2.qti.vp9.decoder @@ -153,4 +160,25 @@ public class QtMultimediaUtils codecs[i] = codecInfoArray[i].getName(); return codecs; } + + public static String getMimeType(Context context, String url) + { + Uri parsedUri = Uri.parse(url); + String type = null; + + try { + String scheme = parsedUri.getScheme(); + if (scheme != null && scheme.contains("content")) { + ContentResolver cR = context.getContentResolver(); + type = cR.getType(parsedUri); + } else { + String extension = MimeTypeMap.getFileExtensionFromUrl(url); + if (extension != null) + type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); + } + } catch (Exception e) { + Log.e(QtTAG, "getMimeType(): " + e.toString()); + } + return type; + } } |