DismissablePanelStackSubContainerController

The dismissable panel stack sub-container controller.

This panel container attaches a DismissablePanelStackData.stackedPanels to a panel sub-container.

For each panel sub-container a layout based on subContainerLayoutId is inflated. If subContainerLayoutId is null then a default FragmentContainerView is used.

Constructors

fun DismissablePanelStackSubContainerController(@LayoutRes subContainerLayoutId: Int? = null)

Functions

Link copied to clipboard
override fun createSubContainer(panelContainer: ViewGroup, subContainerViewModel: VM, panelContainerViewModel: PanelContainerViewModel<SD?, VM, SD>): StateDrivenSubContainerController.SubContainerCreationResult<VM, SD>

Creates a new panel sub-container. If getNewSubContainerData returned a non-empty collection, this method is called for each item in the collection.

Link copied to clipboard
override fun getNewSubContainerData(panelContainerViewModel: PanelContainerViewModel<SD?, VM, SD>): Collection<SD>

Determines if new panel sub-containers should be created, based on panelContainerViewModel.

Link copied to clipboard

Updates the panel sub-container data associated to the existing panel sub-container view models.

Link copied to clipboard
open override fun isSubContainerExitAllowed(subContainerViewModel: VM): Boolean

Whether the panel sub-container exit of the given subContainerViewModel is allowed.

Inheritors

Link copied to clipboard