diff options
author | Andy Shaw <andy.shaw@qt.io> | 2020-03-04 13:36:27 +0100 |
---|---|---|
committer | Andy Shaw <andy.shaw@qt.io> | 2020-04-14 14:51:17 +0100 |
commit | e7eff98401723ff7e4e8d962405f9af1b53b9759 (patch) | |
tree | b9a429ff8d3f2577d0454325ee5b61772df74d92 /src/android/jar/src/org/qtproject | |
parent | 504b37e39955f223ccd80188bd1badbd197286e1 (diff) |
Android: Only check for uri permissions when it is a file or content
This amends f36b042e2b66a3ad32980b21e9fafc1bd9b0c7c1 to only check
permissions for uris that are going to be local to the device itself.
Other uris, such as http, https etc, should go through fine without a
check.
Change-Id: If05caadb6e0712d9db8f57185ef017d724d9e172
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'src/android/jar/src/org/qtproject')
-rw-r--r-- | src/android/jar/src/org/qtproject/qt5/android/QtNative.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java index a8bf4c15e1..76ecbe043b 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java +++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java @@ -160,8 +160,13 @@ public class QtNative private static Uri getUriWithValidPermission(Context context, String uri, String openMode) { try { + Uri parsedUri = Uri.parse(uri); + String scheme = parsedUri.getScheme(); + // We only want to check permissions for files and content Uris + if (scheme.compareTo("file") != 0 && scheme.compareTo("content") != 0) + return parsedUri; List<UriPermission> permissions = context.getContentResolver().getPersistedUriPermissions(); - String uriStr = Uri.parse(uri).getPath(); + String uriStr = parsedUri.getPath(); for (int i = 0; i < permissions.size(); ++i) { Uri iterUri = permissions.get(i).getUri(); |