NavAppComponentsDisplayManager

A manager for the NavApp Components' representation within a display. This interface provides shared instances for various frontends within the same display, allowing the global NavApp state to be managed in a centralized place without frontends having any dependency on each other.

When all frontends sharing a display manager are fully prepared, a single callback has to be provided to NavApp, signaling the start of its internal logic. This callback may only be given after all component containers are available. In TomTom Digital Cockpit's plugin architecture, each container lives in fragments owned by panels, which are asynchronously created by the system UI. To determine when all containers are ready, frontends must declare which containers to expect using configureGroup in Frontend.onCreate. The expected containers will be marked as available when the fragments registered through registerContainerFragment in Fragment.onCreate create their views.

Inheritors

Properties

Link copied to clipboard
abstract val navigator: Deferred<Navigator>

Inherited properties

Link copied to clipboard
abstract val lifecycle: Lifecycle

Functions

Link copied to clipboard
abstract fun configureGroup(componentTag: Set<ComponentTag>)

Indicates that a group is to be configured, defined by at set of ComponentTags.

Link copied to clipboard
abstract fun registerContainerFragment(fragment: Fragment, savedInstanceState: Bundle?, tagToContainerId: Map<ComponentTag, Int>): PanelToFragmentAdapter

Registers the given fragment as a container for the NavApp components, allowing NavApp to retrieve containers based on the tagToContainerId mapping.