A rule that responds to system UI menu items being clicked by opening TaskPanels or by cleaning up the stack of existing ones. Depending on the state and behaviour of available Frontends, this rule behaves in the following manner:

Note that this rule does not close other Frontends' TaskPanels after calling Frontend.openTaskPanels. Enforcing only a single active TaskPanel stack can be independently configured, for example through SingleTaskPanelStackFrontendCoordinationRule.



A function that allows the rule to get a Frontend (creating it if it wasn't yet) based on the clicked MenuItem.Id. May return null when no Frontend belonging to the MenuItem.Id was present in the system UI FrontendRegistry.


constructor(getOrCreateFrontend: (MenuItem.Id) -> Frontend?)


Link copied to clipboard
open override fun activate(lifecycleOwner: LifecycleOwner, iviServiceProvider: IviInstanceBoundIviServiceProvider, frontends: LiveData<out Collection<Frontend>>)

Actives the rule within the scope of the given lifecycleOwner.