private void onReceivedPermissionResult(List<String> acceptedPermissions, List<String> refusedPermissions, List<String> askAgainPermissions) { final PermissionResult permissionResult = new PermissionResult(this, acceptedPermissions, refusedPermissions, askAgainPermissions); if (permissionResult.isAccepted()) { for (AcceptedCallback callback : acceptedCallbacks) { callback.onAccepted(permissionResult); } for (PermissionListener permissionListener : permissionListeners) { permissionListener.onAccepted(permissionResult, permissionResult.getAccepted()); } } if (permissionResult.hasDenied()) { for (DeniedCallback callback : deniedCallbacks) { callback.onDenied(permissionResult); } } if (permissionResult.hasForeverDenied()) { for (ForeverDeniedCallback callback : foreverDeniedCallbacks) { callback.onForeverDenied(permissionResult); } } if (permissionResult.hasForeverDenied() || permissionResult.hasDenied()) { for (PermissionListener permissionListener : permissionListeners) { permissionListener.onDenied(permissionResult, permissionResult.getDenied(), permissionResult.getForeverDenied()); } } for (ResponseCallback responseCallback : responseCallbacks) { responseCallback.onResponse(permissionResult); } }
resultView.setText("Accepted :" + result.getAccepted()); }, throwable -> { if (throwable instanceof RxPermissions.Error) { final PermissionResult result = ((RxPermissions.Error) throwable).getResult(); if(result.hasDenied()) { appendText(resultView, "Denied :"); for (String permission : result.getDenied()) { appendText(resultView, permission); .setMessage("Please accept our permissions") .setPositiveButton("yes", (dialog, which) -> { result.askAgain(); if(result.hasForeverDenied()) { appendText(resultView, "ForeverDenied :"); for (String permission : result.getForeverDenied()) { appendText(resultView, permission); result.goToSettings();
resultView.setText("Accepted :" + result.getAccepted()); }) .onDenied((result) -> { appendText(resultView, "Denied :"); for (String permission : result.getDenied()) { appendText(resultView, permission); .setMessage("Please accept our permissions") .setPositiveButton("yes", (dialog, which) -> { result.askAgain(); appendText(resultView, "ForeverDenied :"); for (String permission : result.getForeverDenied()) { appendText(resultView, permission); result.goToSettings(); }) .ask();