saveNavigationState function

Future<void> saveNavigationState({
  1. required bool isNavigating,
  2. double? destinationLat,
  3. double? destinationLng,
  4. String? destinationName,
  5. int? routeDataHash,
})

Saves navigation state for persistence between app restarts

Implementation

Future<void> saveNavigationState({
  required bool isNavigating,
  double? destinationLat,
  double? destinationLng,
  String? destinationName,
  int? routeDataHash,
}) async {
  await prefs.setBool('is_navigating', isNavigating);

  if (isNavigating && destinationLat != null && destinationLng != null) {
    await prefs.setDouble('destination_lat', destinationLat);
    await prefs.setDouble('destination_lng', destinationLng);
    await prefs.setString('destination_name', destinationName ?? 'Destination');
    if (routeDataHash != null) {
      await prefs.setInt('route_data_hash', routeDataHash);
    }
  } else {
    await prefs.remove('destination_lat');
    await prefs.remove('destination_lng');
    await prefs.remove('destination_name');
    await prefs.remove('route_data_hash');
  }
}