Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. public void run() {
  2. if (isListenersCorrect()) {
  3. if (isNeedToAskPermissions()) {
  4. checkPermissions();
  5. } else {
  6. successListener.run();
  7. }
  8. } else {
  9. throw new RuntimeException("OnPermissionSuccessListener or OnPermissionFailureListener or OnPermissionNewerAskAgainListener not implemented. Use methods: onSuccess, onFailure and onNewerAskAgain");
  10. }
  11. }
  12.  
  13. @RequiresApi(api = Build.VERSION_CODES.M)
  14. private void checkPermissions() {
  15. final String[] permissionsForRequest = getPermissionsForRequest();
  16. if (permissionsForRequest.length > 0) {
  17. activity.requestPermissions(permissionsForRequest, PERMISSION_REQUEST_CODE);
  18. } else {
  19. successListener.run();
  20. }
  21. }
  22.  
  23. public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
  24. if (requestCode == PERMISSION_REQUEST_CODE) {
  25. for (String permission : permissions) {
  26. if (isNeedToAskPermissions()) {
  27. if (isPermissionNotGranted(permission)) {
  28. if (isNeverAskAgain(permission)) {
  29. neverAskAgainListener.run();
  30. } else {
  31. failureListener.run();
  32. }
  33. return;
  34. }
  35. }
  36. }
  37. }
  38. successListener.run();
  39. }
  40.  
  41. public void unsubscribe() {
  42. activity = null;
  43. if (failureListener != null) {
  44. failureListener = null;
  45. }
  46. if (successListener != null) {
  47. successListener = null;
  48. }
  49. if (neverAskAgainListener != null) {
  50. neverAskAgainListener = null;
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement