getLocationStatus method

  1. @override
Future<LocationStatus> getLocationStatus()
override

Returns the current location service and permission status.

Implementation

@override
Future<LocationStatus> getLocationStatus() async {
  if (await Geolocator.isLocationServiceEnabled()) {
    LocationPermission permission = await Geolocator.checkPermission();
    // ask for permission if not already
    if (permission == LocationPermission.denied) {
      permission = await Geolocator.requestPermission();
    }

    if (![LocationPermission.denied, LocationPermission.deniedForever]
        .contains(permission)) {
      return LocationStatus.ready;
    } else {
      return LocationStatus.denied;
    }
  }
  return LocationStatus.disabled;
}