navigationevent
Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |
---|---|---|---|---|
June 18, 2025 | - | - | - | 1.0.0-alpha03 |
Declaring dependencies
To add a dependency on navigationevent, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle
file for
your app or module:
Groovy
dependencies { implementation "androidx.navigationevent:navigationevent:1.0.0-alpha03" }
Kotlin
dependencies { implementation("androidx.navigationevent:navigationevent:1.0.0-alpha03") }
For more information about dependencies, see Add build dependencies.
Feedback
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
There are no release notes for this artifact.
Version 1.0
Version 1.0.0-alpha03
June 18, 2025
androidx.navigationevent:navigationevent-*:1.0.0-alpha03
is released. Version 1.0.0-alpha03 contains these commits.
New Features
- Introduced a new
navigationevent-compose
module to support Jetpack Compose features in thenavigationevent
library. (980d78) NavigationEvent
Compose has added a newLocalNavigationEventDispatcherOwner
local composition. It returns a nullable value to better determine whether it is available in the current composition.NavigationEventHandler
will now throw an error if the underlying owner is not found. (62ffda)NavigationEvent
Compose has added a newNavigationEventHandler
Composable to handle (predictive back gesture) events. It provides aFlow
ofNavigationEvent
objects that must be collected in the suspending lambda you provide c42ba6 :
NavigationEventHandler { progress: Flow<NavigationEvent> ->
// This block is executed when the back gesture begins.
try {
progress.collect { backEvent ->
// Handle gesture progress updates here.
}
// This block is executed if the gesture completes successfully.
} catch (e: CancellationException) {
// This block is executed if the gesture is cancelled
throw e
} finally {
// This block is executed either the gesture is completed or cancelled
}
}
API Changes
- Each
NavigationEventCallback
can now be registered with only oneNavigationEventDispatcher
at a time; adding it to multiple dispatchers throws anIllegalStateException
. Note that this behavior differs fromOnBackPressedDispatcher
, which allows multiple dispatchers. (e82c19) - Made
isPassThrough
aval
to prevent mutation during navigation, which could breakNavigationEvent
's dispatching. (I0b287)
Version 1.0.0-alpha02
June 4, 2025
androidx.navigationevent:navigationevent-*:1.0.0-alpha02
is released. Version 1.0.0-alpha02 contains these commits.
API Changes
- Replace
NavigationEventDispatcher
's secondary constructor with default arguments. (I716a0) - Remove priority property from
NavigationEventCallback
. Pass priority toNavigationEventDispatcher.addCallback()
instead. (I13cae)
Bug Fixes
- Fixed a
ConcurrentModificationException
that could occur whenNavigationEventCallback.remove()
was called due to simultaneously modifying the internal list of closeables. (b/420919815)
Version 1.0.0-alpha01
May 20, 2025
androidx.navigationevent:navigationevent-*:1.0.0-alpha01
is released. Version 1.0.0-alpha01 contains these commits.
New Features
- The
androidx.navigationevent
library provides a KMP-first API for handling system back as well as Predictive Back. TheNavigationEventDispatcher
serves as a common APIs for registering one or moreNavigationEventCallback
instances for receiving system back events. - This layer sits below the previously released APIs in
androidx.activity
and aims to be a less opinionated replacement for using the Activity APIs in higher level components or directly using the Android frameworkOnBackInvokedDispatcher
APIs. Theandroidx.activity
APIs have been rewritten on top of the Navigation Event APIs as part of Activity 1.12.0-alpha01.