in src/android/FileUtils.java [1222:1284]
public void onRequestPermissionResult(int requestCode, String[] permissions,
int[] grantResults) throws JSONException {
final PendingRequests.Request req = pendingRequests.getAndRemove(requestCode);
if (req != null) {
for(int r:grantResults)
{
if(r == PackageManager.PERMISSION_DENIED)
{
req.getCallbackContext().sendPluginResult(new PluginResult(PluginResult.Status.ERROR, SECURITY_ERR));
return;
}
}
switch(req.getAction())
{
case ACTION_GET_FILE:
threadhelper( new FileOp( ){
public void run(JSONArray args) throws FileExistsException, IOException, TypeMismatchException, EncodingException, JSONException {
String dirname = args.getString(0);
String path = args.getString(1);
JSONObject obj = getFile(dirname, path, args.optJSONObject(2), false);
req.getCallbackContext().success(obj);
}
}, req.getRawArgs(), req.getCallbackContext());
break;
case ACTION_GET_DIRECTORY:
threadhelper( new FileOp( ){
public void run(JSONArray args) throws FileExistsException, IOException, TypeMismatchException, EncodingException, JSONException {
String dirname = args.getString(0);
String path = args.getString(1);
JSONObject obj = getFile(dirname, path, args.optJSONObject(2), true);
req.getCallbackContext().success(obj);
}
}, req.getRawArgs(), req.getCallbackContext());
break;
case ACTION_WRITE:
threadhelper( new FileOp( ){
public void run(JSONArray args) throws JSONException, FileNotFoundException, IOException, NoModificationAllowedException {
String fname=args.getString(0);
String data=args.getString(1);
int offset=args.getInt(2);
Boolean isBinary=args.getBoolean(3);
long fileSize = write(fname, data, offset, isBinary);
req.getCallbackContext().sendPluginResult(new PluginResult(PluginResult.Status.OK, fileSize));
}
}, req.getRawArgs(), req.getCallbackContext());
break;
case ACTION_READ_ENTRIES:
threadhelper( new FileOp( ){
public void run(JSONArray args) throws FileNotFoundException, JSONException, MalformedURLException {
String fname=args.getString(0);
JSONArray entries = readEntries(fname);
req.getCallbackContext().success(entries);
}
}, req.getRawArgs(), req.getCallbackContext());
break;
}
} else {
LOG.d(LOG_TAG, "Received permission callback for unknown request code");
}
}