checkPermissions static method

Future<void> checkPermissions(
  1. List<Permission> permissions, {
  2. void onGranted()?,
  3. void onDenied()?,
})

Implementation

static Future<void> checkPermissions(
  List<Permission> permissions, {
  void Function()? onGranted,
  void Function()? onDenied,
}) async {
  final statuses = await permissions.request();
  final allGranted = statuses.values.every((status) => status.isGranted);
  if (allGranted) {
    onGranted?.call();
  } else {
    onDenied?.call();
    // Optional: open app settings for permanently denied permissions
    final permanentlyDenied = statuses.values.any((s) => s.isPermanentlyDenied);
    if (permanentlyDenied) {
      await openAppSettings();
    }
  }
}