summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPekka Gehör <pekka.gehor@qt.io>2021-06-14 09:27:48 +0300
committerPekka Gehör <pekka.gehor@qt.io>2021-06-14 12:05:31 +0000
commit4544cdb8611fce0c18e0621da36fa287a4db294b (patch)
treeda621492c26f89e4dc81f95c2e905f3a18443e51
parent594fd10b492bad8f9e6e045dbe3b50d236266684 (diff)
Android: Fix for content Uri issue
a QFileDialog return file path as content://com.android.providers.media.documents Change-Id: I2c10548b5314aba38f3affdb68e7fa0c1f5bb78c Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/multimedia/QtAndroidMediaPlayer.java22
1 files changed, 6 insertions, 16 deletions
diff --git a/src/android/jar/src/org/qtproject/qt/android/multimedia/QtAndroidMediaPlayer.java b/src/android/jar/src/org/qtproject/qt/android/multimedia/QtAndroidMediaPlayer.java
index aa706179c..72a299c7d 100644
--- a/src/android/jar/src/org/qtproject/qt/android/multimedia/QtAndroidMediaPlayer.java
+++ b/src/android/jar/src/org/qtproject/qt/android/multimedia/QtAndroidMediaPlayer.java
@@ -379,8 +379,7 @@ public class QtAndroidMediaPlayer
FileInputStream fis = null;
try {
mUri = Uri.parse(path);
- final boolean inAssets = (mUri.getScheme().compareTo("assets") == 0);
- if (inAssets) {
+ if (mUri.getScheme().compareTo("assets") == 0) {
final String asset = mUri.getPath().substring(1 /* Remove first '/' */);
final AssetManager am = mContext.getAssets();
afd = am.openFd(asset);
@@ -392,23 +391,14 @@ public class QtAndroidMediaPlayer
fis = new FileInputStream(mUri.getPath());
FileDescriptor fd = fis.getFD();
mMediaPlayer.setDataSource(fd);
+ } else if (mUri.getScheme().compareTo("content") == 0) {
+ mMediaPlayer.setDataSource(mContext, mUri, mHeaders);
} else {
- if (mHeaders.isEmpty())
- mMediaPlayer.setDataSource(path);
- else
- mMediaPlayer.setDataSource(mContext, mUri, mHeaders);
+ mMediaPlayer.setDataSource(path);
}
setState(State.Initialized);
- } catch (final IOException e) {
- Log.d(TAG, "" + e.getMessage());
- } catch (final IllegalArgumentException e) {
- Log.d(TAG, "" + e.getMessage());
- } catch (final SecurityException e) {
- Log.d(TAG, "" + e.getMessage());
- } catch (final IllegalStateException e) {
- Log.d(TAG, "" + e.getMessage());
- } catch (final NullPointerException e) {
- Log.d(TAG, "" + e.getMessage());
+ } catch (final Exception e) {
+ Log.d(TAG, "Exception: " + e.getMessage());
} finally {
try {
if (afd != null)