requestPermission method

Future<bool> requestPermission()

Checks and requests location permission. Returns true if permission is granted.

Implementation

Future<bool> requestPermission() async {
  bool serviceEnabled = await Geolocator.isLocationServiceEnabled();
  if (!serviceEnabled) {
    debugPrint('PowerMap Tracking: Location services are disabled.');
    return false;
  }

  LocationPermission permission = await Geolocator.checkPermission();
  if (permission == LocationPermission.denied) {
    permission = await Geolocator.requestPermission();
    if (permission == LocationPermission.denied) {
      debugPrint('PowerMap Tracking: Location permissions denied.');
      return false;
    }
  }

  if (permission == LocationPermission.deniedForever) {
    debugPrint('PowerMap Tracking: Location permissions permanently denied.');
    return false;
  }

  return true;
}