FrontendCoordinator

@IviExperimental(reasons = [])
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.

Parameters

lifecycleOwner

The lifecycle during which the coordinator is active.

iviServiceProvider

The service provider used to communicate with various services, such as the main menu and notification display services.

frontendMetadata

The metadata about the frontends that this instance should coordinate.

frontendContextFactory

The factory used to create FrontendContexts when creating Frontends.

panelRegistryFactory

A factory for the coordinator to create a PanelRegistry

frontendCoordinationRulesFactory

A factory for the coordinator to create and activate a set of FrontendCoordinationRules.

Constructors

Link copied to clipboard
fun FrontendCoordinator(lifecycleOwner: LifecycleOwner, iviServiceProvider: IviInstanceBoundIviServiceProvider, frontendMetadata: Collection<FrontendMetadata>, frontendContextFactory: FrontendContextFactory, panelRegistryFactory: PanelRegistryFactory<PR>, frontendCoordinationRulesFactory: FrontendCoordinationRulesFactory<PR>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Whether all frontends with the FrontendCreationPolicy.CREATE_FRONTEND_AT_STARTUP frontend creation policy are ready.

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open override fun toString(): String