NotificationPanel

abstract class NotificationPanel(frontendContext: FrontendContext, val priority: NotificationPanel.Priority) : GenericDismissablePanel<PanelContext>

A panel to inform the user of a recent event.

Can be extended to provide additional information for the fragment or view model to use.

Parameters

frontendContext

An entry point for this Panel to communicate with the rest of the system.

priority

The notification Priority.

Constructors

Link copied to clipboard
fun NotificationPanel(frontendContext: FrontendContext, priority: NotificationPanel.Priority)

Types

Link copied to clipboard
enum Priority : Enum<NotificationPanel.Priority>

Priority of the notification.

Properties

Link copied to clipboard
val priority: NotificationPanel.Priority

Inherited properties

Link copied to clipboard
val frontendContext: FrontendContext
Link copied to clipboard
val id: Long

Unique identifier of a GenericPanel. Each ID is an increment of the previously created panel's ID, allowing this value to be used for sorting purposes.

Link copied to clipboard
val isBeingDismissed: LiveData<Boolean>

true when the panel is being dismissed from the system UI, either through user interaction or other events. At this point the panel may still be visible due to the panel's exit animation.

Link copied to clipboard
val isOccluded: LiveData<Boolean?>

Whether the panel is partially or fully occluded:

Link copied to clipboard
override val panelContext: LiveData<PanelContext?>

The PanelContext given when the panel is attached to the system UI.

Link copied to clipboard
val tag: String

The tag to recognise this panel with. Useful in combination with fragment tags to detect which fragment belongs to which panel.

Link copied to clipboard
var transitionDestination: PanelTransitionDestination?

A destination that the information contained by this panel transitions to when this panel closes. By default it is null, indicating the information does not transition anywhere.

Link copied to clipboard
var transitionSource: PanelTransitionSource?

The source of the information contained by this panel when the information transitions from another panel to this one. By default it is null, indicating the information does not transition from any other particular panel.

Inherited functions

Link copied to clipboard
fun createInitialFragment(): Fragment

The fragment used when initially showing the panel. The fragment may be recreated by the system UI upon configuration changes.

Link copied to clipboard
fun dismiss()

Dismisses the panel, triggering the end of its life. It will be removed from the frontend, causing onRemovedFromFrontend to be called and preventing it from being shown again.

Link copied to clipboard
open override fun getLifecycle(): Lifecycle
Link copied to clipboard
open fun onAddedToFrontend()

Called when this panel is added to Frontend.panels, allowing it to be shown in the system UI.

Link copied to clipboard
open fun onAttached(panelContext: PanelContext)

Called when the panel is attached to the system UI. The panel may be detached and attached multiple times, for example on configuration changes. However, a panel will never be attached multiple times at once.

Link copied to clipboard
open fun onDetached()

Called when the panel has been detached from the system UI. The panel may be attached again later, for example when the configuration changes.

Link copied to clipboard
fun onDismissalCompleted()

Called when the panel has been dismissed from the system UI, either through user interaction or other events. This triggers the end of the life of a panel; it will be removed from the frontend, causing onRemovedFromFrontend to be called and preventing it from being shown again in the system UI.

Link copied to clipboard
fun onDismissalStarted()

Called when the panel is being dismissed from the system UI, either through user interaction or other events. At this point the panel may still be visible due to the panel's exit animation.

Link copied to clipboard
open fun onRemovedFromFrontend()

Called when this panel is removed from Frontend.panels, preventing it from being shown in the system UI.

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