Package-level declarations

Types

Link copied to clipboard

Camera-related events that can be voiced during navigation.

Link copied to clipboard
object Keys

All navigation settings key constants.

Link copied to clipboard
data class MultiSelectOption<T>(val value: T, val label: String, val description: String? = null, @DrawableRes val iconRes: Int? = null)

A single option for SettingsMultiSelect.

Link copied to clipboard

Applies persisted navigation settings to a NavigationManager.

Link copied to clipboard
data class NavigationSettingsColors(val sectionHeader: Color, val settingLabel: Color, val settingDescription: Color, val settingValue: Color, val primary: Color, val divider: Color, val switchThumb: Color, val chevron: Color, val disabled: Color, val pickerBackground: Color, val sectionBackground: Color, val actionIcon: Color, val downloadIcon: Color)

Color palette for the navigation settings UI.

Link copied to clipboard

Single source of truth for all navigation settings.

Link copied to clipboard

Theme bundle for the navigation settings UI.

Link copied to clipboard
data class NavigationSettingsTypography(val sectionHeader: TextStyle, val settingLabel: TextStyle, val settingDescription: TextStyle, val settingValue: TextStyle, val actionLabel: TextStyle, val radioOptionLabel: TextStyle, val radioOptionDescription: TextStyle)

Text styles for the navigation settings UI. Override individual tokens via copy.

Link copied to clipboard

Non-camera navigation events that can be voiced during navigation.

Link copied to clipboard
data class RadioOption<T>(val value: T, val label: String, val description: String? = null)

A single option for SettingsRadioGroup.

Link copied to clipboard
class SectionVisibilityConfig(hiddenSections: Set<String> = emptySet())

Configuration for hiding specific settings sections.

Link copied to clipboard
sealed class SettingsKey<T>

Type-safe key for a navigation setting.

Link copied to clipboard

Master sound mode controlling which navigation events produce audio.

Link copied to clipboard

State holder for the Sound Settings screen.

Link copied to clipboard

State holder for the Voices screen.

Link copied to clipboard
data class VoiceUiModel(val name: String, val language: String, val installed: Boolean, val preinstalled: Boolean, val selected: Boolean, val downloadProgress: Int? = null)

UI model representing a single voice package.

Functions

Link copied to clipboard
fun BicycleRouteSettingsLayout(settingsRepository: NavigationSettingsRepository, theme: NavigationSettingsTheme = NavigationSettingsTheme.defaults())

Bicycle route preferences screen.

Link copied to clipboard
fun MotorcycleRouteSettingsLayout(settingsRepository: NavigationSettingsRepository, theme: NavigationSettingsTheme = NavigationSettingsTheme.defaults())

Motorcycle route preferences screen.

Link copied to clipboard
fun PedestrianRouteSettingsLayout(settingsRepository: NavigationSettingsRepository, theme: NavigationSettingsTheme = NavigationSettingsTheme.defaults())

Pedestrian route preferences screen.

Link copied to clipboard
fun PublicTransportRouteSettingsLayout(settingsRepository: NavigationSettingsRepository, theme: NavigationSettingsTheme = NavigationSettingsTheme.defaults())

Public transport route preferences screen.

Link copied to clipboard
fun RouteSettingsLayout(settingsRepository: NavigationSettingsRepository, theme: NavigationSettingsTheme = NavigationSettingsTheme.defaults(), visibilityConfig: SectionVisibilityConfig = SectionVisibilityConfig.default(), onNavigateToSoundSettings: () -> Unit = {}, onNavigateToPedestrian: () -> Unit = {}, onNavigateToBicycle: () -> Unit = {}, onNavigateToScooter: () -> Unit = {}, onNavigateToMotorcycle: () -> Unit = {}, onNavigateToPublicTransport: () -> Unit = {}, onNavigateToTruck: () -> Unit = {}, onNavigateToVoicesSettings: () -> Unit = {})

Top-level navigation settings screen.

Link copied to clipboard
fun ScooterRouteSettingsLayout(settingsRepository: NavigationSettingsRepository, theme: NavigationSettingsTheme = NavigationSettingsTheme.defaults())

Scooter route preferences screen.

Link copied to clipboard
fun SettingsCheckmark(label: String, checked: Boolean, onCheckedChange: (Boolean) -> Unit, theme: NavigationSettingsTheme, enabled: Boolean = true)

Label + animated checkmark row for a binary setting.

Link copied to clipboard
fun SettingsDateTimePicker(value: Long?, onValueChange: (Long?) -> Unit, theme: NavigationSettingsTheme, @StringRes labelRes: Int = R.string.dgis_settings_date_time_picker_label, enabled: Boolean = true, @StringRes nullLabelRes: Int = R.string.dgis_settings_date_time_picker_null_label, @StringRes confirmLabelRes: Int = R.string.dgis_settings_date_time_picker_confirm, @StringRes resetLabelRes: Int = R.string.dgis_settings_date_time_picker_reset)

Date/time picker that opens a wheel-picker bottom sheet.

Link copied to clipboard
fun SettingsDownloadableListItem(label: String, onPlayClick: () -> Unit, theme: NavigationSettingsTheme, subtitle: String? = null, onDownloadClick: () -> Unit = {}, downloadProgress: () -> Int? = null)

List row with a play button, label/subtitle, and either a download button or a progress arc.

Link copied to clipboard
fun SettingsExpandableRow(label: String, value: String?, expanded: Boolean, onExpandToggle: () -> Unit, theme: NavigationSettingsTheme, content: @Composable ColumnScope.() -> Unit)

Row that toggles a chevron and reveals or hides arbitrary content below.

Link copied to clipboard
fun SettingsMasterToggle(label: String, checked: Boolean, onCheckedChange: (Boolean) -> Unit, theme: NavigationSettingsTheme, content: @Composable (enabled: Boolean) -> Unit)

Master switch that gates a group of dependent controls.

Link copied to clipboard
fun <T> SettingsMultiSelect(label: String, options: List<MultiSelectOption<T>>, selected: Set<T>, onSelectionChange: (Set<T>) -> Unit, theme: NavigationSettingsTheme)

Multi-selection list of checkbox rows with a stable layout height.

Link copied to clipboard
fun SettingsNavigationRow(label: String, onClick: () -> Unit, theme: NavigationSettingsTheme, subtitle: String? = null)

Clickable row with a label, optional subtitle, and a right-arrow chevron.

Link copied to clipboard
fun SettingsNumericInput(label: String, value: Int?, onValueChange: (Int?) -> Unit, theme: NavigationSettingsTheme, unit: String = "", placeholder: String = "", range: IntRange? = null, enabled: Boolean = true)

Numeric text input for an integer setting.

Link copied to clipboard
fun SettingsProgressIndicator(progress: () -> Int, theme: NavigationSettingsTheme, modifier: Modifier = Modifier)

Animated circular progress arc ranging from 0 to 100.

Link copied to clipboard
fun <T> SettingsRadioGroup(label: String, options: List<RadioOption<T>>, selected: T, onSelectedChange: (T) -> Unit, theme: NavigationSettingsTheme)

Single-selection list with an iOS-style trailing checkmark.

Link copied to clipboard
fun SettingsSelectableListItem(label: String, selected: Boolean, onClick: () -> Unit, theme: NavigationSettingsTheme, subtitle: String? = null, onDeleteClick: () -> Unit? = null)

List row with a selection checkmark, optional subtitle, and a trailing slot for action buttons.

Link copied to clipboard
fun SettingsSlider(label: String, value: Int, onValueChange: (Int) -> Unit, valueRange: IntRange, theme: NavigationSettingsTheme, step: Int = 1, unit: String = "")

Integer-valued slider with a label, snapped step, and optional unit suffix.

Link copied to clipboard
fun SettingsToggle(label: String, checked: Boolean, onCheckedChange: (Boolean) -> Unit, theme: NavigationSettingsTheme, enabled: Boolean = true)

Label + Switch row for a binary setting.

Link copied to clipboard
fun SoundSettingsLayout(viewModel: SoundSettingsViewModel, theme: NavigationSettingsTheme = NavigationSettingsTheme.defaults(), visibilityConfig: SectionVisibilityConfig = SectionVisibilityConfig.default(), onNavigateToVoices: () -> Unit)

Sound Settings screen content (Screen 2 in the navigation settings flow).

Link copied to clipboard
fun TruckRouteSettingsLayout(settingsRepository: NavigationSettingsRepository, theme: NavigationSettingsTheme = NavigationSettingsTheme.defaults())

Truck route preferences screen.

Link copied to clipboard
fun VoicesLayout(state: VoicesScreenViewModel, theme: NavigationSettingsTheme = NavigationSettingsTheme.defaults())

Voice management screen.