Builder

class Builder(panels: LiveData<Collection<AnyPanel>>, lifecycleOwner: LifecycleOwner, iviServiceProvider: IviInstanceBoundIviServiceProvider)

A builder that creates a IviPanelRegistry from panels using the default logic to determine which panels to show.

The logic for determining the value of each individual IviPanelRegistry field can be replaced by proving a different LiveData for a certain panel. If left null, the default logic will be used. In order to not use any panel for a certain property, EmptyLiveData can be set.

The default logic for some panel types makes use of data from services. To allow the builder to make service connections, lifecycleOwner and iviServiceProvider must be provided.

Parameters

panels

The panels used by the default logic that determines which Panels to show. To easily extract panels from a FrontendRegistry or collection of Frontends, see extractPanels.

lifecycleOwner

The LifecycleOwner used for service connections, necessary for the default logic of deciding which panels to show.

iviServiceProvider

The service provider used for service connections, necessary for the default logic of deciding which panels to show.

Constructors

Link copied to clipboard
fun Builder(panels: LiveData<Collection<AnyPanel>>, lifecycleOwner: LifecycleOwner, iviServiceProvider: IviInstanceBoundIviServiceProvider)

Properties

Link copied to clipboard

The active ControlCenterPanels to pass to the IviPanelRegistry. If left null, all ControlCenterPanel instances from the given Panel collection are considered active.

Link copied to clipboard

The active DebugPanel to pass to the IviPanelRegistry. If left null, a single DebugPanel instance is picked from the given Panel collection, assuming only a single Frontend will offer a DebugPanel.

Link copied to clipboard

The active ExpandedProcessPanel to pass to the IviPanelRegistry. If left null, a single ExpandedProcessPanel instance is picked from the given Panel collection. If multiple Frontends offer an ExpandedProcessPanel, the most recent one is selected.

Link copied to clipboard

The active GuidancePanel to pass to the IviPanelRegistry. If left null, a single GuidancePanel instance is picked from the given Panel collection, assuming only a single Frontend will offer a GuidancePanel.

Link copied to clipboard

The active HomePanel to pass to the IviPanelRegistry. If left null, a single HomePanel instance is picked from the given Panel collection, assuming only a single Frontend will offer a HomePanel.

Link copied to clipboard

The active MainMenuPanel to pass to the IviPanelRegistry. If left null, a single MainMenuPanel instance is picked from the given Panel collection, assuming only a single Frontend will offer a MainMenuPanel.

Link copied to clipboard

The active MainProcessPanel to pass to the IviPanelRegistry. If left null, a single MainProcessPanel instance is picked from the given Panel collection. If multiple Frontends offer a MainProcessPanel, the most recent one with the highest MainProcessPanel.Priority is selected.

Link copied to clipboard

The active ModalPanelStackData to pass to the IviPanelRegistry. If left null, the ModalPanels from the Frontend that contains the most recently opened ModalPanel within the given Panel collection will be used to form the stack.

Link copied to clipboard

The active NotificationPanelDatas to pass to the IviPanelRegistry. If left null, NotificationPanel instances from the given Panel collection are filtered using the state of the NotificationDisplayService to determined which NotificationPanels are active.

Link copied to clipboard

The active OverlayPanels to pass to the IviPanelRegistry. If left null, all OverlayPanel instances from the given Panel collection are considered active.

Link copied to clipboard

The active SearchPanel to pass to the IviPanelRegistry. If left null, a single SearchPanel instance is picked from the given Panel collection, assuming only a single Frontend will offer a SearchPanel.

Link copied to clipboard

The active SettingsPanel to pass to the IviPanelRegistry. If left null, a single SettingsPanel instance is picked from the given Panel collection, assuming only a single Frontend will offer a SettingsPanel.

Link copied to clipboard

The active TaskPanelStackData to pass to the IviPanelRegistry. If left null, the TaskPanels from the Frontend that contains the most recently opened TaskPanel within the given Panel collection will be used to form the stack.

Functions

Link copied to clipboard

Builds the IviPanelRegistry using the provided information. Panel fields left to null will be set using the default logic.