request method
Requests permission natively and returns the resulting status.
Implementation
@override
Future<PermissionStatus> request(Permission permission) async {
final error = requestError;
if (error != null) throw error;
requestedPermissions.add(permission);
final queue = requestResults[permission];
final next = (queue != null && queue.isNotEmpty)
? queue.removeAt(0)
: (statuses[permission] ?? PermissionStatus.denied);
statuses[permission] = next;
return next;
}