in app/src/main/java/org/apache/fineract/utils/CheckSelfPermissionAndRequest.java [83:117]
public static void requestPermissions(final AppCompatActivity activity,
final String[] permissions,
final int permissionRequestCode,
final String[] dialogMessageRetry,
final String[] messageNeverAskAgain,
final String[] permissionDeniedStatus) {
for (int i = 0; i < permissions.length; ++i) {
if (ActivityCompat.shouldShowRequestPermissionRationale(activity, permissions[i])) {
// Show an explanation to the user *asynchronously* -- don't block
// this thread waiting for the user's response! After the user
// sees the explanation, try again to request the permission.
new MaterialDialog.Builder().init(activity)
.setTitle(R.string.dialog_permission_denied)
.setMessage(dialogMessageRetry[i])
.setPositiveButton(R.string.dialog_action_re_try,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ActivityCompat.requestPermissions(activity, permissions,
permissionRequestCode);
}
})
.setNegativeButton(R.string.dialog_action_i_am_sure)
.createMaterialDialog()
.show();
} else {
requestSinglePermissions(activity, permissions, permissionRequestCode,
messageNeverAskAgain[i], permissionDeniedStatus[i]);
}
}
}