FrontendConfig
Defines the reference to a frontend implementation and how to configure it.
Parameters
The name of the frontend builder class.
The frontend builder name must be formatted in PascalCase
and must end with the FrontendBuilder
suffix. The FrontendBuilder
suffix is mandatory to make it easier for developers to find where the class is used in the code base.
The frontend builder name needs to match a class with the same name that implements the com.tomtom.ivi.platform.frontend.api.common.frontend.FrontendBuilder
class.
The module that contains the class that implements the com.tomtom.ivi.platform.frontend.api.common.frontend.FrontendBuilder
class.
The package name of the class is obtained from this ModuleReference. If the class resides in a sub package within this module, the sub package can be provided through subPackageName. This subPackageName is appended to the package name of the module, with a period in between.
Optional sub package. If not null
, this value is appended to the ModuleReference.packageName of the implementationModule property with a period in between.
The creation policy of the frontend. Determines when the frontend should be created relative to the lifecycle of the IVI system.
The frontend extensions configuration. The configured frontend extensions will be set to the frontendBuilderName class instance.
Intent filters associated with this frontend.
The intent filters also need to be added separately to the Android manifest.
A reference to a runtime set of panels that are available to the frontend. By default, all of the panel types offered by the TomTom Digital Cockpit platform are included.
When introducing a new panel type, frontends using it must have the type specified here for the frontend to be able to use it, e.g., by passing a reference to val EXPANDED_PANEL_TYPES = PLATFORM_PANEL_TYPES + CustomPanel::class
. This information is also used by the system UI to determine whether or not it can support the frontends it's asked to present panels for.
IVI service dependencies of the frontend implementation.
A frontend implementation can require other IVI service interfaces to be registered. This allows misconfiguration to be detected at build time.
Constructors
Properties
Functions
Copies this FrontendConfig, adds the given extensions, intentFilters and dependencies to the copied instance, and returns it.
Creates a MenuItemConfig for a menu item defined in the same module and package as this frontend.