Package com.tomtom.ivi.platform.systemui.api.common.frontendcoordinator

Types

Link copied to clipboard
interface FrontendContextFactory

A factory used to create a FrontendContext to provide when creating a Frontend instance.

Link copied to clipboard
typealias FrontendCoordinationRulesFactory<PR> = (frontendRegistry: FrontendRegistry, panelRegistry: PR) -> Collection<FrontendCoordinationRule>
Link copied to clipboard
class FrontendCoordinator<PR : PanelRegistry>(    val lifecycleOwner: LifecycleOwner,     val iviServiceProvider: IviInstanceBoundIviServiceProvider,     frontendMetadata: Collection<FrontendMetadata>,     frontendContextFactory: FrontendContextFactory,     panelRegistryFactory: PanelRegistryFactory<PR>,     frontendCoordinationRulesFactory: FrontendCoordinationRulesFactory<PR>)

Coordinates the Frontends within the IVI system. It manages the lifecycle of frontends, determines which of the frontend's panels should be shown in the UI, and enables the business logic rules between them.

Link copied to clipboard
class FrontendRegistry(    lifecycleOwner: LifecycleOwner,     frontendMetadata: Collection<FrontendMetadata>,     frontendContextFactory: FrontendContextFactory)

Manages the lifecycles of Frontends based on the given frontendMetadata.

Link copied to clipboard
class IviFrontendContext(    val iviServiceProvider: IviInstanceBoundIviServiceProvider,     val staticConfigurationProvider: StaticConfigurationProvider,     panelTypesAvailableToFrontend: PanelTypeSet,     panelTypesSupportedBySystemUi: PanelTypeSet) : FrontendContext

A basic default implementation for FrontendContext.

Link copied to clipboard
class IviPanelRegistry(    val homePanel: LiveData<HomePanel?>,     val mainMenuPanel: LiveData<MainMenuPanel?>,     val controlCenterPanels: LiveData<PanelList<ControlCenterPanel>>,     val mainProcessPanel: LiveData<MainProcessPanel?>,     val expandedProcessPanel: LiveData<ExpandedProcessPanel?>,     val taskPanelStackData: LiveData<TaskPanelStackData>,     val notificationPanelData: LiveData<NotificationPanelData>,     val guidancePanel: LiveData<GuidancePanel?>,     val settingsPanel: LiveData<SettingsPanel?>,     val searchPanel: LiveData<SearchPanel?>,     val debugPanel: LiveData<DebugPanel?>,     val overlayPanels: LiveData<PanelList<OverlayPanel>>,     val modalPanelStackData: LiveData<ModalPanelStackData>) : PanelRegistry

A class that indicates the currently active Panels.

Link copied to clipboard
interface PanelRegistry

An identifying interface for classes that indicate the currently active Panels.

Link copied to clipboard
typealias PanelRegistryFactory<PR> = (frontendRegistry: FrontendRegistry) -> PR