diff options
author | Pekka Gehör <pekka.gehor@qt.io> | 2021-06-14 09:27:48 +0300 |
---|---|---|
committer | Pekka Gehör <pekka.gehor@qt.io> | 2021-06-14 12:05:31 +0000 |
commit | 4544cdb8611fce0c18e0621da36fa287a4db294b (patch) | |
tree | da621492c26f89e4dc81f95c2e905f3a18443e51 | |
parent | 594fd10b492bad8f9e6e045dbe3b50d236266684 (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.java | 22 |
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) |