IviFrontendContext

@IviExperimental(reasons = [])
class IviFrontendContext(val iviServiceProvider: IviInstanceBoundIviServiceProvider, val staticConfigurationProvider: StaticConfigurationProvider, val applicationContext: Context, panelTypesAvailableToFrontend: PanelTypeSet, panelTypesSupportedBySystemUi: PanelTypeSet) : FrontendContext

A basic default implementation for FrontendContext.

Parameters

iviServiceProvider

Provides Frontends with access to services.

staticConfigurationProvider

Allows retrieving the values of static configurations, given a configuration key.

applicationContext

Android context of the Application whose lifetime is tied to the application process.

panelTypesAvailableToFrontend

Which panels types the Frontend may add. Should be based on FrontendMetadata.availablePanelTypes. This information is used for isPanelTypeAvailableToFrontend.

panelTypesSupportedBySystemUi

Which panels types the system UI can present to the user when added to the Frontend. This information is used for isPanelTypeSupportedBySystemUi.

Constructors

Link copied to clipboard
constructor(iviServiceProvider: IviInstanceBoundIviServiceProvider, staticConfigurationProvider: StaticConfigurationProvider, applicationContext: Context, panelTypesAvailableToFrontend: PanelTypeSet, panelTypesSupportedBySystemUi: PanelTypeSet)

Types

Link copied to clipboard
class Factory(iviServiceProvider: IviInstanceBoundIviServiceProvider, staticConfigurationProvider: StaticConfigurationProvider, panelTypesSupportedBySystemUi: PanelTypeSet, applicationContext: Context) : FrontendContextFactory

A default factory that creates a IviFrontendContexts for a given FrontendMetadata.

Properties

Link copied to clipboard
open override val applicationContext: Context
Link copied to clipboard
open override val iviInstanceId: IviInstanceId
Link copied to clipboard

Functions

Link copied to clipboard
open override fun isPanelTypeAvailableToFrontend(panelType: KClass<out AnyPanel>): Boolean
Link copied to clipboard
open override fun isPanelTypeSupportedBySystemUi(panelType: KClass<out AnyPanel>): Boolean