ToolbarAction

sealed interface ToolbarAction

One-way event emitted by a toolbar composable.

Composables never call back into the coordinator directly — they emit a ToolbarAction, the coordinator routes it. This keeps composables pure, makes every interaction testable without UI, and lets the legacy OnMenuItemClickListener bridge attach at one well-defined point.

Pre-Phase 0 scaffolding.

Inheritors

Types

Link copied to clipboard
data class ItemClicked @JvmOverloads constructor(@IdRes val id: Int, val kind: ContextualToolbarKind? = null) : ToolbarAction

A toolbar item was tapped.

Link copied to clipboard
data class ItemLongClicked @JvmOverloads constructor(@IdRes val id: Int, val kind: ContextualToolbarKind? = null) : ToolbarAction

A toolbar item was long-pressed.

Link copied to clipboard

The toolbar navigation (up/back) affordance was tapped.

Link copied to clipboard
data class OverflowToggled(val expanded: Boolean) : ToolbarAction

The overflow menu was expanded or collapsed.

Link copied to clipboard

A change of the toolbar's screen position was requested.

Link copied to clipboard
data class SubmenuChildClicked @JvmOverloads constructor(@IdRes val parentId: Int, @IdRes val childId: Int, val kind: ContextualToolbarKind? = null) : ToolbarAction

A child inside a submenu was tapped.

Functions

Link copied to clipboard

Returns this action stamped with the contextual toolbar kind it originated from. Non-click actions (overflow, navigation, position) pass through unchanged — they are frame-level and carry no per-item source.