checkPermission method

  1. @override
Future<LocationPermission> checkPermission()
override

Implementation

@override
Future<LocationPermission> checkPermission() async {
  try {
    final permissions = web.window.navigator.permissions;
    final status = await permissions
        .query(_PermissionDescriptor(name: 'geolocation'))
        .toDart;
    switch (status.state) {
      case 'granted':
        return LocationPermission.whileInUse;
      case 'prompt':
        return LocationPermission.denied;
      case 'denied':
        return LocationPermission.deniedForever;
      default:
        return LocationPermission.unableToDetermine;
    }
  } catch (_) {
    return LocationPermission.unableToDetermine;
  }
}