diff --git a/android/capacitor/src/main/java/com/getcapacitor/PluginRequestCodes.java b/android/capacitor/src/main/java/com/getcapacitor/PluginRequestCodes.java index f3ca5ebae..967342198 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/PluginRequestCodes.java +++ b/android/capacitor/src/main/java/com/getcapacitor/PluginRequestCodes.java @@ -23,4 +23,5 @@ public class PluginRequestCodes { public static final int FILESYSTEM_REQUEST_STAT_PERMISSIONS = 9019; public static final int FILESYSTEM_REQUEST_RENAME_PERMISSIONS = 9020; public static final int FILESYSTEM_REQUEST_COPY_PERMISSIONS = 9021; + public static final int FILESYSTEM_REQUEST_ALL_PERMISSIONS = 9022; } diff --git a/android/capacitor/src/main/java/com/getcapacitor/plugin/Filesystem.java b/android/capacitor/src/main/java/com/getcapacitor/plugin/Filesystem.java index d4ddc14f0..a37059e36 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/plugin/Filesystem.java +++ b/android/capacitor/src/main/java/com/getcapacitor/plugin/Filesystem.java @@ -30,18 +30,25 @@ import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; -@NativePlugin(requestCodes = { - PluginRequestCodes.FILESYSTEM_REQUEST_WRITE_FILE_PERMISSIONS, - PluginRequestCodes.FILESYSTEM_REQUEST_WRITE_FOLDER_PERMISSIONS, - PluginRequestCodes.FILESYSTEM_REQUEST_READ_FILE_PERMISSIONS, - PluginRequestCodes.FILESYSTEM_REQUEST_READ_FOLDER_PERMISSIONS, - PluginRequestCodes.FILESYSTEM_REQUEST_DELETE_FILE_PERMISSIONS, - PluginRequestCodes.FILESYSTEM_REQUEST_DELETE_FOLDER_PERMISSIONS, - PluginRequestCodes.FILESYSTEM_REQUEST_URI_PERMISSIONS, - PluginRequestCodes.FILESYSTEM_REQUEST_STAT_PERMISSIONS, - PluginRequestCodes.FILESYSTEM_REQUEST_RENAME_PERMISSIONS, - PluginRequestCodes.FILESYSTEM_REQUEST_COPY_PERMISSIONS, -}) +@NativePlugin( + requestCodes = { + PluginRequestCodes.FILESYSTEM_REQUEST_WRITE_FILE_PERMISSIONS, + PluginRequestCodes.FILESYSTEM_REQUEST_WRITE_FOLDER_PERMISSIONS, + PluginRequestCodes.FILESYSTEM_REQUEST_READ_FILE_PERMISSIONS, + PluginRequestCodes.FILESYSTEM_REQUEST_READ_FOLDER_PERMISSIONS, + PluginRequestCodes.FILESYSTEM_REQUEST_DELETE_FILE_PERMISSIONS, + PluginRequestCodes.FILESYSTEM_REQUEST_DELETE_FOLDER_PERMISSIONS, + PluginRequestCodes.FILESYSTEM_REQUEST_URI_PERMISSIONS, + PluginRequestCodes.FILESYSTEM_REQUEST_STAT_PERMISSIONS, + PluginRequestCodes.FILESYSTEM_REQUEST_RENAME_PERMISSIONS, + PluginRequestCodes.FILESYSTEM_REQUEST_COPY_PERMISSIONS, + }, + permissions={ + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE + }, + permissionRequestCode = PluginRequestCodes.FILESYSTEM_REQUEST_ALL_PERMISSIONS +) public class Filesystem extends Plugin { private static final String PERMISSION_DENIED_ERROR = "Unable to do file operation, user denied permission request"; @@ -676,6 +683,8 @@ protected void handleRequestPermissionsResult(int requestCode, String[] permissi this.rename(savedCall); } else if (requestCode == PluginRequestCodes.FILESYSTEM_REQUEST_COPY_PERMISSIONS) { this.copy(savedCall); + } else if (requestCode == PluginRequestCodes.FILESYSTEM_REQUEST_ALL_PERMISSIONS){ + savedCall.resolve(); } this.freeSavedCall(); }