Skip to content

Commit 6c23198

Browse files
committed
feat: direct getExternalSdCardDetails without permission request
1 parent ab62d5c commit 6c23198

File tree

3 files changed

+2
-37
lines changed

3 files changed

+2
-37
lines changed

README.md

-2
Original file line numberDiff line numberDiff line change
@@ -3653,8 +3653,6 @@ Whereas this method returns:
36533653

36543654
which are on external removable storage.
36553655

3656-
- Requires permission for `READ_EXTERNAL_STORAGE` run-time permission which must be added to `AndroidManifest.xml`.
3657-
36583656
```
36593657
cordova.plugins.diagnostic.getExternalSdCardDetails(successCallback, errorCallback);
36603658
```

src/android/Diagnostic.java

+1-14
Original file line numberDiff line numberDiff line change
@@ -184,9 +184,6 @@ public class Diagnostic extends CordovaPlugin{
184184
public static final String CPU_ARCH_MIPS = "MIPS";
185185
public static final String CPU_ARCH_MIPS_64 = "MIPS_64";
186186

187-
protected static final String externalStorageClassName = "cordova.plugins.Diagnostic_External_Storage";
188-
protected static final Integer GET_EXTERNAL_SD_CARD_DETAILS_PERMISSION_REQUEST = 1000;
189-
190187
/*************
191188
* Variables *
192189
*************/
@@ -965,17 +962,7 @@ public void onRequestPermissionResult(int requestCode, String[] permissions, int
965962
clearRequest(requestCode);
966963
}
967964

968-
Class<?> externalStorageClass = null;
969-
try {
970-
externalStorageClass = Class.forName(externalStorageClassName);
971-
} catch( ClassNotFoundException e ){}
972-
973-
if(requestCode == GET_EXTERNAL_SD_CARD_DETAILS_PERMISSION_REQUEST && externalStorageClass != null){
974-
Method method = externalStorageClass.getMethod("onReceivePermissionResult");
975-
method.invoke(null);
976-
}else{
977-
context.success(statuses);
978-
}
965+
context.success(statuses);
979966
}catch(Exception e ) {
980967
handleError("Exception occurred onRequestPermissionsResult: ".concat(e.getMessage()), requestCode);
981968
}

src/android/Diagnostic_External_Storage.java

+1-21
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ public class Diagnostic_External_Storage extends CordovaPlugin{
5151
* Constants *
5252
*************/
5353

54-
5554
/**
5655
* Tag for debug log messages
5756
*/
@@ -74,8 +73,6 @@ public class Diagnostic_External_Storage extends CordovaPlugin{
7473
*/
7574
protected CallbackContext currentContext;
7675

77-
protected static String externalStoragePermission = "READ_EXTERNAL_STORAGE";
78-
7976

8077
/*************
8178
* Public API
@@ -127,29 +124,12 @@ public boolean execute(String action, JSONArray args, CallbackContext callbackCo
127124
return true;
128125
}
129126

130-
public static void onReceivePermissionResult() throws JSONException{
131-
instance._getExternalSdCardDetails();
132-
}
133127

134128
/************
135129
* Internals
136130
***********/
137131

138-
protected void getExternalSdCardDetails() throws Exception{
139-
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
140-
_getExternalSdCardDetails();
141-
} else {
142-
String permission = diagnostic.permissionsMap.get(externalStoragePermission);
143-
if (diagnostic.hasRuntimePermission(permission)) {
144-
_getExternalSdCardDetails();
145-
} else {
146-
diagnostic.requestRuntimePermission(permission, Diagnostic.GET_EXTERNAL_SD_CARD_DETAILS_PERMISSION_REQUEST);
147-
}
148-
}
149-
}
150-
151-
152-
protected void _getExternalSdCardDetails() throws JSONException {
132+
protected void getExternalSdCardDetails() throws JSONException {
153133
String[] storageDirectories = getStorageDirectories();
154134

155135
JSONArray details = new JSONArray();

0 commit comments

Comments
 (0)