determinePositionTemp method

Future<Position> determinePositionTemp(
  1. Future openSettingCallback()
)

Implementation

Future<Position> determinePositionTemp(
  Future<dynamic> Function() openSettingCallback,
) async {
  LocationPermission permission = await Geolocator.checkPermission();
  if (permission == LocationPermission.denied) {
    await openSettingCallback();
  }

  if (permission == LocationPermission.deniedForever) {
    await openSettingCallback();
  }

  permission = await Geolocator.checkPermission();
  if (permission != LocationPermission.whileInUse &&
      permission != LocationPermission.always) {
    return Future.error('Location permission is not accepted');
  }

  final serviceEnabled = await Geolocator.isLocationServiceEnabled();
  if (!serviceEnabled) {
    return Future.error('Location service is disabled');
  }

  return await Geolocator.getCurrentPosition();
}