NavigationEventCallback


Known direct subclasses
TestNavigationEventCallback

A test implementation of NavigationEventCallback that records received events and invocation counts.


Callback for handling NavigationEvents.

This class maintains its own isEnabled state and will only receive callbacks when enabled.

Summary

Public constructors

NavigationEventCallback(isEnabled: Boolean, isPassThrough: Boolean)
Cmn

Public properties

Boolean

Controls whether this callback is active and should be considered for event dispatching.

Cmn
Boolean

Whether this callback should consume the events from NavigationEventDispatcher or allow it to continue.

Cmn

Public constructors

NavigationEventCallback(isEnabled: Boolean, isPassThrough: Boolean = false)
Parameters
isEnabled: Boolean

The enabled state for this callback.

isPassThrough: Boolean = false

Whether this callback should consume the events from NavigationEventDispatcher or allow it to continue.

Public functions

onEventCancelled

open fun onEventCancelled(): Unit

Callback for handling NavigationEventDispatcher.dispatchOnCancelled.

onEventCompleted

open fun onEventCompleted(): Unit

Callback for handling NavigationEventDispatcher.dispatchOnCompleted.

onEventProgressed

open fun onEventProgressed(event: NavigationEvent): Unit

Callback for handling NavigationEventDispatcher.dispatchOnProgressed.

onEventStarted

open fun onEventStarted(event: NavigationEvent): Unit

Callback for handling NavigationEventDispatcher.dispatchOnStarted.

remove

fun remove(): Unit

Public properties

isEnabled

var isEnabledBoolean

Controls whether this callback is active and should be considered for event dispatching.

A callback's effective enabled state is hierarchical; it is directly influenced by the NavigationEventDispatcher it is registered with.

Getting the value:

  • This will return false if the associated dispatcher exists and its isEnabled state is false, regardless of the callback's own local setting. This provides a powerful mechanism to disable a whole group of callbacks at once by simply disabling their dispatcher.

  • Otherwise, it returns the callback's own locally stored state.

Setting the value:

  • This updates the local enabled state of the callback itself.

  • More importantly, it immediately notifies the dispatcher (if one is attached) that its list of enabled callbacks might have changed, prompting a re-evaluation. This ensures the system's state remains consistent and responsive to changes.

For a callback to be truly active, both its local isEnabled property and its dispatcher's isEnabled property must evaluate to true.

isPassThrough

val isPassThroughBoolean

Whether this callback should consume the events from NavigationEventDispatcher or allow it to continue.