requestEnableLocationService method

  1. @override
Future<bool> requestEnableLocationService()
override

Implementation

@override
Future<bool> requestEnableLocationService() async {
  if (Platform.isIOS) {
    return Future.value(true);
  }

  try {
    final hasLocationPermissions = await this.hasLocationPermissions();
    if (!hasLocationPermissions) {
      final isAllowed = await requestLocationPermission();
      if (isAllowed) {
        return await requestEnableLocationService();
      }

      throw ErrorDescription('Enable location permission to turn on service.');
    }

    final enabled = await methodChannel.invokeMethod<bool>('requestEnableLocationService') ?? false;
    return enabled;
  } catch (e) {
    rethrow;
  }
}