dvAndroidPermissionsFor function

List<String>? dvAndroidPermissionsFor(
  1. String name, {
  2. int sdk = 34,
})

The Android permissions name needs on an API level of sdk, or null when Dartvel has no such permission name.

Null rather than an empty list for an unknown name: an empty list means "nothing to ask for, so it is granted", and answering that for a typo would grant camrea on every device.

Implementation

List<String>? dvAndroidPermissionsFor(String name, {int sdk = 34}) {
  final DVAndroidPermissionGroup? group = dvAndroidPermissions[name];
  if (group == null) return null;
  return <String>[
    for (final DVAndroidPermission permission in group.permissions)
      if ((permission.minSdk == null || sdk >= permission.minSdk!) &&
          (permission.maxSdk == null || sdk <= permission.maxSdk!))
        permission.name,
  ];
}