per static method

Future<Map<Permission, bool>> per({
  1. List<Permission>? list,
  2. _Handlerpermission? type,
})

Implementation

static Future<Map<Permission, bool>> per(
    {List<Permission>? list, _Handlerpermission? type}) async {
  assert(type == null && (list?.isNotEmpty ?? false) ||
      type != null && (list?.isEmpty ?? true));
  // Permission.camera.
  List<Permission> _list = list ?? [];
  switch (type) {
    case _Handlerpermission.cam:
      _list = [Permission.camera];
      break;
    case _Handlerpermission.storage:
      _list = [Permission.storage];
      break;
    case _Handlerpermission.both:
      _list = [Permission.camera, Permission.storage];
      break;
    default:
      break;
  }
  if (_list.isNotEmpty) {
    final List<Permission> statusList = [];
    for (var i in _list) {
      final e = await _permissionStatus(i);
      if (!e.value) statusList.add(e.key);
    }
    print(statusList);
    if (statusList.isNotEmpty) {
      final a = await _requestPermission(statusList);
      return a;
    }
  }
  return Map<Permission, bool>.identity();
}