@Override
    public void onRequestPermissionsResult(int requestCode,
                                           @NonNull String[] permissions,
                                           @NonNull int[] grantResults) {
        // If arrays are empty, then process was cancelled
        if (permissions.length == 0) {
            // Treat this as a cancel press
            if (mListener != null) {
                mListener.onCancelled();
            }
        } else { // if (requestCode == PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE) {
            if (PackageManager.PERMISSION_GRANTED == grantResults[0]) {
                // Do refresh
                if (mRequestedPath != null) {
                    refresh(mRequestedPath);
                }
            } else {
                Toast.makeText(getContext(), github.tornaco.android.thanos.res.R.string.nnf_permission_external_write_denied,
                        Toast.LENGTH_SHORT).show();
                // Treat this as a cancel press
                if (mListener != null) {
                    mListener.onCancelled();
                }
            }
        }
    }
This the method that gets notified when permission is granted/denied. By default,
a granted request will result in a refresh of the list.

@param requestCode  the code you requested
@param permissions  array of permissions you requested. empty if process was cancelled.
@param grantResults results for requests. empty if process was cancelled.
android/modules/module_filepicker/src/main/java/com/nononsenseapps/filepicker/FilePickerFragment.java