From 229ee03d16dfa8b8bf9c4d3b0b19d4161101378f Mon Sep 17 00:00:00 2001 From: Alexis Gandar Date: Wed, 26 Jul 2023 15:11:55 +0200 Subject: [PATCH] fix(android): Request permission Android <= 10 on API 33 --- src/android/FileUtils.java | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/android/FileUtils.java b/src/android/FileUtils.java index de973da8..d8c4bf1a 100644 --- a/src/android/FileUtils.java +++ b/src/android/FileUtils.java @@ -487,23 +487,18 @@ public void run(JSONArray args) throws FileExistsException, IOException, TypeMis String dirname = args.getString(0); String path = args.getString(1); - if (dirname.contains(LocalFilesystemURL.CDVFILE_KEYWORD) == true) { + String nativeURL = resolveLocalFileSystemURI(dirname).getString("nativeURL"); + boolean containsCreate = (args.isNull(2)) ? false : args.getJSONObject(2).optBoolean("create", false); + + if(containsCreate && needPermission(nativeURL, WRITE)) { + getWritePermission(rawArgs, ACTION_GET_FILE, callbackContext); + } + else if(!containsCreate && needPermission(nativeURL, READ)) { + getReadPermission(rawArgs, ACTION_GET_FILE, callbackContext); + } + else { JSONObject obj = getFile(dirname, path, args.optJSONObject(2), false); callbackContext.success(obj); - } else { - String nativeURL = resolveLocalFileSystemURI(dirname).getString("nativeURL"); - boolean containsCreate = (args.isNull(2)) ? false : args.getJSONObject(2).optBoolean("create", false); - - if(containsCreate && needPermission(nativeURL, WRITE)) { - getWritePermission(rawArgs, ACTION_GET_FILE, callbackContext); - } - else if(!containsCreate && needPermission(nativeURL, READ)) { - getReadPermission(rawArgs, ACTION_GET_FILE, callbackContext); - } - else { - JSONObject obj = getFile(dirname, path, args.optJSONObject(2), false); - callbackContext.success(obj); - } } } }, rawArgs, callbackContext);