Package-level declarations

Contains panel containers - views that visualize panels.

Types

Link copied to clipboard
Link copied to clipboard

A PanelContainer for visualizing a NotificationPanels as heads up notifications.

Link copied to clipboard

A PanelContainer for visualizing a NavigablePanelStackData of type CD with panels of type P.

Link copied to clipboard
@IviExperimental(reasons = [])
class NotificationCenterPanelContainer @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0, notificationPanelListContainer: NotificationCenterPanelContainer.NotificationCenterNotificationPanelListContainer = NotificationCenterNotificationPanelListContainer(context).apply { setDismissiblePanelListContainerAttributes(context, attrs) }) : ConstraintLayout, PanelContainer<DismissiblePanelList<NotificationPanel>, NotificationPanel>

A PanelContainer that implements the Notification center - a container to manage notifications, represented as NotificationPanels in the system UI.

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

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<*, CD?, VM, SD>, CD, VM : PanelSubContainerViewModel<SD>, SD>(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 : PanelSubContainerViewModel<SD>, 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
@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 : GenericPanel<C>, C : CommonPanelContext> @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0, providePanelContextFactory: PanelContextFactoryProvider.(SD) -> PanelContextFactory<C>) : PanelContainerRecyclerView<CD, VM, SD>

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

Link copied to clipboard

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.