Package-level declarations

Types

Link copied to clipboard
sealed interface AdditionalManeuverInfo

Additional maneuver information displayed below the primary maneuver. Each type carries its own specific data in a type-safe manner.

Link copied to clipboard
data class AdditionalManeuverUiState(val isVisible: Boolean = false, val info: AdditionalManeuverInfo = AdditionalManeuverInfo.None)

UI state for additional maneuver info (exit name/number or short preview of the following maneuver).

Link copied to clipboard
class DefaultManeuverViewModel(navigationManager: NavigationManager) : ManeuverViewModel

Provides upcoming maneuver state (icon, distance, road name) during navigation. Adds exit name or short preview of the next maneuver when applicable. Hidden when navigation finished, data unavailable or user is indoors.

Link copied to clipboard
data class ManeuverComposableColors(val background: Color, val text: Color, val additionalAlpha: Float)

Color palette for ManeuverComposable (background, text, alpha).

Link copied to clipboard

Default values (colors, icons) for ManeuverComposable.

Link copied to clipboard
typealias ManeuverComposableIcons = (InstructionManeuver?) -> Int?

Customizable icon provider for maneuver indicators. Allows overriding default maneuver icons with custom drawables.

Link copied to clipboard
data class ManeuverState(val next: NextManeuverUiState = NextManeuverUiState(), val additional: AdditionalManeuverUiState = AdditionalManeuverUiState())

Combined maneuver state (primary + optional additional info) consumed by the composable.

Link copied to clipboard

Source of maneuver UI state. Implementations push updates as navigation progresses.

Link copied to clipboard
data class NextManeuverUiState(val isVisible: Boolean = false, val maneuver: InstructionManeuver? = null, val isLeftHandTraffic: Boolean = false, val distanceMeters: Int? = null, val roadName: String = "")

UI state for the upcoming (next) maneuver displayed to the user.

Functions

Link copied to clipboard
fun ManeuverComposable(viewModel: ManeuverViewModel, colors: ManeuverComposableColors = ManeuverComposableDefaults.colors(), icons: ManeuverComposableIcons = ManeuverComposableDefaults.icons)

Displays navigation maneuver UI (next turn + optional additional info) in Compose.