@IviExperimental(reasons = [])
class MediaFrontendContext(val frontendContext: FrontendContext, val panelStack: LiveData<out List<MediaTaskPanel>>, val mediaConfiguration: MediaConfiguration, val mediaService: MediaServiceApi, val mediaFrontendNavigation: MediaFrontendContext.MediaFrontendNavigation)

Entry point for Media related panels to communicate with their frontend and the rest of the system. Should be created by the Frontend.

All available static configuration values are accessible through frontendContext, in FrontendContext.staticConfigurationProvider.

Examples: All example apps can be found in the Android Studio project inside the TomTom Digital Cockpit SDK.

  • How to set up a custom mini player using static configuration: examples/media/miniplayer/



Base FrontendContext. Used to access IVI services.


Current stack of panels for the Frontend. Usable to determine which panels are open. The Frontend is responsible for observing this variable, to ensure panels always have access to an updated list.


The configuration of the Frontend. This includes the mapping of SourceId to panel factories, and which MediaControls to use.


Reference to the MediaServiceApi based on the MediaService IVI service interface, for ease of access.


Interface to navigate within the media frontend.


Link copied to clipboard
constructor(frontendContext: FrontendContext, panelStack: LiveData<out List<MediaTaskPanel>>, mediaConfiguration: MediaConfiguration, mediaService: MediaServiceApi, mediaFrontendNavigation: MediaFrontendContext.MediaFrontendNavigation)


Link copied to clipboard

Interface to navigate within the media Frontend, such as opening MediaTaskPanels and performing custom user flows provided by PolicyProvider.userFlowPolicy.