/tripkit/TripKitAndroidUI/com.skedgo.tripkit.ui.tripresults/InjectedTransportMode

InjectedTransportMode

\ data class InjectedTransportMode(val identifier: String, val title: String, val subtitle: String? = null, val iconId: String, val supportsDetails: Boolean = false, val effectiveRoutingModes: Set<String> = emptySet())

Small registry for transport modes that are injected by the app/UI layer (not by region backend).

How it works:

  1. UI injection: mergeWithInjectedModes(...) combines backend modes with injected modes so the mode is visible and toggleable in Transport Selector + Trip Results transport chips.
  2. Request behavior: shouldIncludeBackendMode(...) maps a selected injected mode into real backend mode ids used by routing. Example: Park & Ride selected -> include both Public Transport + Car in route request filtering.

This keeps custom mode behavior centralized so adding another custom mode is mostly adding one config entry.

Constructors

InjectedTransportMode constructor(identifier: String, title: String, subtitle: String? = null, iconId: String, supportsDetails: Boolean = false, effectiveRoutingModes: Set<String> = emptySet())

Properties

Name Summary
effectiveRoutingModes val effectiveRoutingModes: Set<String>
iconId val iconId: String
identifier val identifier: String
subtitle val subtitle: String? = null
supportsDetails val supportsDetails: Boolean = false
title val title: String