recalculateRoute method
- Future<
RouteDetails> routeFetcher(- RaliPosition start,
- RaliPosition end
Recalculates the route if needed, using the provided route fetch function
Implementation
Future<void> recalculateRoute(
Future<RouteDetails> Function(RaliPosition start, RaliPosition end) routeFetcher
) async {
if (_currentLocation == null || _destination == null) return;
_isRerouting = true;
notifyListeners();
try {
final newRoute = await routeFetcher(_currentLocation!, _destination!);
// Update route
_currentRoute = newRoute;
_currentStepIndex = 0;
_calculateCumulativeStepDistances();
_progress = 0.0;
_isRerouting = false;
_lastRerouteAttempt = DateTime.now();
// Save navigation state for persistence
await _saveNavigationState();
notifyListeners();
} catch (e) {
print('Error recalculating route: $e');
_isRerouting = false;
notifyListeners();
}
}