public void onRequestPermissionResult()

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");
        }
    }