Package-level declarations

Types

Link copied to clipboard

A PanelContainer for visualizing a DismissablePanelList with panels of type P.

Link copied to clipboard
@IviExperimental(reasons = [])
class OverlappingPanelContainer<P : Panel> @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : StateDrivenPanelContainer<PanelList<P>, SinglePanelSubContainerViewModel<P>, P>

A panel container that presents a list of panels provided by ttiviPanelContainerData. This container will overlap panels if multiple are provided at the same time. Newly added panels will overlap previously added panels.

Link copied to clipboard
@IviExperimental(reasons = [])
interface PanelContainer<CD, SD>

A container that visualizes Panels.

Link copied to clipboard
@IviExperimental(reasons = [])
data class PanelContainerContext(fragmentManager: FragmentManager, softInputAccessor: SoftInputAccessor, viewLifecycleOwner: LifecycleOwner, panelContainerViewModelStore: PanelContainerViewModelStore, fragmentFactory: IviFragmentFactory, viewModelStoreOwner: ViewModelStoreOwner)

The entry point for a panel container to communicate with the system UI host. The lifetime of the context instance is bound to the lifetime of the system UI view. For example, it is recreated when the active theme is updated.

Link copied to clipboard
@IviExperimental(reasons = [])
class PanelContainerControllerHolder<C : PanelContainerController<*, VM>, VM>(findContainerViewDataBinding: () -> ViewDataBinding?, createPanelContainerController: (PanelContainerContext) -> C?)

A convenience class for common PanelContainer logic to do with creating a PanelContainerController and re-creating it when its dependencies change.

Link copied to clipboard
@IviExperimental(reasons = [])
abstract class PanelContainerFrameLayout<CD, VM, SD : Any> @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : FrameLayout, PanelContainer<CD, SD>

A FrameLayout base class for panel containers.

Link copied to clipboard
data class PanelContainerId

Identifies a PanelContainer.

Link copied to clipboard
@IviExperimental(reasons = [])
abstract class PanelContainerRecyclerView<CD, VM : PanelSubContainerViewModel<SD>, SD : Any> @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : RecyclerView, PanelContainer<CD, SD>

A base class for a PanelContainer that uses a RecyclerView for visualizing panel sub-containers.

Link copied to clipboard
@IviExperimental(reasons = [])
abstract class PanelListContainer<CD : PanelList<SD>, VM : SinglePanelSubContainerViewModel<SD>, SD : Panel> @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : PanelContainerRecyclerView<CD, VM, SD>

A panel container that presents a list of panels provided by ttiviPanelContainerData.

Link copied to clipboard
@IviExperimental(reasons = [])
class SinglePanelContainer<P : Panel> @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : StateDrivenPanelContainer<P?, SinglePanelSubContainerViewModel<P>, P> , OnBackPressedConsumer

A panel container that presents a single panel provided by ttiviPanelContainerData. Panel changes are not animated by default. Animations can be configured with ttiviSubContainerEnterAnimation and ttiviSubContainerExitAnimation.

Link copied to clipboard
@IviExperimental(reasons = [])
abstract class StateDrivenPanelContainer<CD, VM : PanelSubContainerViewModel<SD>, SD : Any> @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : PanelContainerFrameLayout<CD, VM, SD>

A base class for a PanelContainer that uses a StateDrivenPanelContainerControllerAdapter to visualize the panel sub-containers.

Link copied to clipboard

A panel container that presents a TaskPanelStackData provided by ttiviPanelContainerData. Panel changes are not animated by default. Animations can be configured with ttiviSubContainerEnterAnimation and ttiviSubContainerExitAnimation.

Functions

Link copied to clipboard

Allows any ViewGroup implementation that implements the PanelContainer interface to create a DefaultPanelSubContainerAnimator.