...This library lifts the burden that comes with writing a bunch of check statements whether permission has been granted or not from you, in order to keep your code clean and safe. PermissionsDispatcher introduces only a few annotations, keeping its general API concise. Annotate a method that explains why the permissions are needed. It passes in a PermissionRequest object which can be used to continue or abort the current permission request upon user input. Annotate a method that is invoked if the user doesn't grant the permissions. Annotate a method that is invoked if the user chose to have the device "never ask again" about permission. ...