TripBuilder

open class TripBuilder

Builder utility for creating Trip objects from AAGuidanceState for NavigationManager updates.

This class constructs properly formatted Trip objects that can be sent to the Android Auto host via androidx.car.app.navigation.NavigationManager.updateTrip. The Trip data is displayed on:

  • The instrument cluster display (if vehicle supports it)

  • Notification summaries

  • Other system navigation UI elements

Purpose

While the navigation screen handles the main head unit display using NavigationTemplate, the Trip object sent via updateTrip serves a different purpose:

  • NavigationTemplate: Full-featured navigation UI on the main screen

  • Trip: Lightweight data for instrument cluster and system notifications

Usage

// In your NavigationScreen
val tripBuilder = TripBuilder()

guidanceProvider.guidanceState.collect { state ->
val trip = tripBuilder.buildTrip(state, destinationTitle)
if (trip != null) {
navigationManager.updateTrip(trip)
}
}

Data Mapping

AAGuidanceState FieldTrip Field
instructionStep.cue, Step.road
distanceToNextInstructionStep distance
distanceToDestinationDestination.TravelEstimate distance
durationToDestinationTravelEstimate remaining time
etaTravelEstimate arrival time
maneuverIconStep.Maneuver icon
isReroutingTrip.loading

See also

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard

Builds a DateTimeWithZone from an ETA string.

Link copied to clipboard

Builds a TravelEstimate with remaining distance, time, and ETA.

Link copied to clipboard
fun buildTrip(guidanceState: AAGuidanceState, destinationTitle: String): Trip?

Builds a Trip object from the current guidance state.

Link copied to clipboard
open fun parseDistance(distanceStr: String?): Distance

Parses a formatted distance string into a Distance object.

Link copied to clipboard
open fun parseDuration(durationStr: String?): Duration?

Parses a duration string into a Duration object.