Package com.tomtom.ivi.platform.systemui.api.common.systemuihost.containercontrollers

Types

Link copied to clipboard
typealias AnyPanelContainerController = PanelContainerController<*, *>

Convenience type-alias for PanelContainerController<*, *>.

Link copied to clipboard
interface ExtendablePanelContainerElementList<SD, BD> : List<PanelContainerElement<SD>>

Allows extending a PanelContainerElement list with PanelContainerElement.BasicElement elements with BD as basic element data type.

Link copied to clipboard
abstract class PanelContainerController<D, VM>(panelData: LiveData<out D?>)

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

Link copied to clipboard
sealed class PanelContainerElement<SD>

Element of a panel container.

Link copied to clipboard
sealed class PanelContainerElementHolder<VM : PanelSubContainerViewModel<SD>, SD>

Holds a PanelContainerElement and its view.

Link copied to clipboard
data class PanelContainerElementTypeId

Denotes the PanelContainerElement type.

Link copied to clipboard
open class PanelContainerViewModel<CD, VM : PanelSubContainerViewModel<SD>, SD>(val panelContainerData: CD?, val subContainerViewModels: List<VM>)

The view model of a panel container.

Link copied to clipboard
class PanelFragmentContainerHolder

Holds a reference to a panel fragment container.

Link copied to clipboard
class PanelFragmentContainerId

A panel fragment container ID.

Link copied to clipboard
open class PanelListContainerController<P : Panel>(    adapter: PanelListAdapter<P>,     container: PanelListRecyclerView,     panelData: LiveData<out PanelList<P>>,     panelContext: PanelContext) : PanelContainerController<List<P>, Unit>

A controller that visualises the panels provided by panelData as a list with the given container. This includes triggering animations when panels appear and disappear.

Link copied to clipboard
class TaskPanelContainerController(    subContainerManager: TaskPanelSubContainerManager,     container: ViewGroup,     panelData: LiveData<TaskPanelStackData>,     panelContext: PanelContext) : PanelContainerController<TaskPanelStackData, Unit> , OnBackPressedConsumer

A controller that visualises the task panels provided by panelData in container. This includes triggering animations when panels appear and disappear.

Link copied to clipboard
data class TaskPanelSubContainer(    val root: ViewGroup,     val taskPanelSubContainer: ViewGroup,     val taskProcessPanelSubContainer: ViewGroup)

A data class that represents a sub-container which can host task panels and a task process panel.

Link copied to clipboard
interface TaskPanelSubContainerManager

Functions

Link copied to clipboard
fun <V : ViewGroup, PanelContainerView<*>, CD, VM : PanelSubContainerViewModel<SD>, SD> V.createPanelContainerController(    panelContainerData: LiveData<CD?>,     panelContainerControllerAdapter: PanelContainerControllerAdapter<V, CD?, VM, SD>,     basePanelContext: PanelContext): PanelContainerController<CD?, VM>

Allows any ViewGroup implementation that implements the PanelContainerView interface to create a PanelContainerController to visualize the panelContainerData in this ViewGroup container.

Link copied to clipboard

Returns a PanelFragmentContainerHolder referencing the first matching FragmentContainerView in this panel sub-container. A FragmentContainerView is considered a match if its view ID matches the stubId. If stubId is null any FragmentContainerView matches.

Link copied to clipboard
fun <VM : PanelSubContainerViewModel<SD>, SD> inflateSubContainerAndBindViewModel(    container: ViewGroup,     @LayoutRes subContainerLayoutId: Int?,     subContainerViewModel: VM): PanelContainerElementHolder.SubContainerHolder<VM, SD>

Inflates a panel sub-container with a single panel fragment container for container from a layout based on subContainerLayoutId. If subContainerLayoutId is null then a default FragmentContainerView is returned.