PanelContainerController

abstract class PanelContainerController<D>(panelData: LiveData<out D?>)

A base class for managing the contents of a container of panels.

Implementations are responsible for visualising the panelData inside a container. See onPanelDataChanged for details.

This base class facilitates that by managing the internal lifecycle, the lifecycle of the Fragments for each attached panel and the panel stack.

Constructors

Link copied to clipboard
fun <D> PanelContainerController(panelData: LiveData<out D?>)

Types

Link copied to clipboard
class PanelSubContainerStateViewModel<S : PanelSubContainerState>(val subContainerStates: MutableList<S> = mutableListOf()) : ViewModel

A wrapper for a collection of sub-container states of type S. It is used to store the collection in ViewModel store. The collection can be loaded with the stateViewModel delegate.

Functions

Link copied to clipboard
fun bind(panelContainerViewContext: PanelContainerViewContext)

Binds this controller to the system UI with the given panelContainerViewContext. A controller may only be bound once and must be unbound through unbind when destroying the controller.

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

Unbinds this controller from the system UI. The controller must have been bound through bind first.

Inheritors

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard