hasPermission method

  1. @override
Future<PermissionStatus> hasPermission()
override

Checks if the app has permission to access location.

If the result is PermissionStatus.deniedForever, no dialog will be shown on requestPermission. Returns a PermissionStatus object.

Implementation

@override
Future<PermissionStatus> hasPermission() async {
  final js.PermissionStatus result =
      await _permissions!.query(<String, String>{'name': 'geolocation'});

  switch (result.state) {
    case 'granted':
      return PermissionStatus.granted;
    case 'prompt':
      return PermissionStatus.denied;
    case 'denied':
      return PermissionStatus.deniedForever;
    default:
      throw ArgumentError('Unknown permission ${result.state}.');
  }
}