check static method

Checks current permission status without prompting the user.

Example:

final status = await BloomPermissions.check(BloomPermission.location);

Implementation

static Future<BloomPermissionStatus> check(BloomPermission permission) async {
  if (_simulatedPermissions.containsKey(permission)) {
    final sim = _simulatedPermissions[permission]!;
    logger.debug('BloomPermissions: [SIMULATED] Checked $permission -> $sim');
    return sim;
  }

  try {
    final phPermission = permission.toPermissionHandler();
    final status = await phPermission.status;
    final bloomStatus = status.toBloomStatus();
    logger.debug('BloomPermissions: Checked $permission -> $bloomStatus');
    return bloomStatus;
  } catch (e) {
    logger.warn('BloomPermissions: Failed to check permission $permission: $e');
    return BloomPermissionStatus.unknown;
  }
}