getPermissionsStatus static method

Future<List<Permissions>> getPermissionsStatus(
  1. List<PermissionType> types
)

Implementation

static Future<List<Permissions>> getPermissionsStatus(List<PermissionType> types) async {
  List<String> list = [];
  types.forEach((p) {
    list.add(p.name);
  });
  var status = await channel.invokeMethod("getPermissionsStatus", {"permissions": list});
  List<Permissions> permissionStatusList = [];
  for (int i = 0; i < status.length; i++) {
    PermissionStatus permissionStatus;
    switch (status[i]) {
      case 0:
        permissionStatus = PermissionStatus.ALLOW;
        break;
      case 1:
        permissionStatus = PermissionStatus.DENY;
        break;
      case 2:
        permissionStatus = PermissionStatus.NOT_DECIDED;
        break;
      case 3:
        permissionStatus = PermissionStatus.NOT_AGAIN;
        break;
      default:
        permissionStatus = PermissionStatus.NOT_DECIDED;
        break;
    }
    permissionStatusList.add(Permissions(status: permissionStatus, permissionType: types[i]));
  }
  return permissionStatusList;
}