Fixed
Status Update
Comments
je...@google.com <je...@google.com> #2
BTW, the source code for this is fairly straightforward. I just added the source into the sample for now, but it would be nicer if we had the function.
From source:
/**
* Gets the current navigation back stack entry as a [MutableState]. When the given navController
* changes the back stack due to a [NavController.navigate] or [NavController.popBackStack] this
* will trigger a recompose and return the top entry on the back stack.
*
* @return a mutable state of the current back stack entry
*/
@Composable
public fun NavController.currentBackStackEntryAsState(): State<NavBackStackEntry?> {
return currentBackStackEntryFlow.collectAsState(null)
}
je...@google.com <je...@google.com> #3
jn...@google.com <jn...@google.com>
st...@google.com <st...@google.com>
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 804463f3f416212296133fe53e30b5d5cbc2fba9
Author: stevebower <stevebower@google.com>
Date: Wed Jan 05 15:04:02 2022
Add currentBackStackEntryAsState to Wear Compose Navigation.
Test: Run tests for wear.compose.navigation.
Bug: 212739653
Relnote: "We have added NavController.currentBackStackEntryAsState()
to the Wear.Compose.Navigation library."
Change-Id: If90286c7debe623df926a091f15766abf04f2ecc
M wear/compose/compose-navigation/api/restricted_current.txt
M wear/compose/compose-navigation/api/current.txt
M wear/compose/compose-navigation/src/androidTest/kotlin/androidx/wear/compose/navigation/SwipeDismissableNavHostTest.kt
M wear/compose/compose-navigation/api/public_plus_experimental_current.txt
M wear/compose/compose-navigation/src/main/java/androidx/wear/compose/navigation/SwipeDismissableNavHostController.kt
https://android-review.googlesource.com/1926189
Branch: androidx-main
commit 804463f3f416212296133fe53e30b5d5cbc2fba9
Author: stevebower <stevebower@google.com>
Date: Wed Jan 05 15:04:02 2022
Add currentBackStackEntryAsState to Wear Compose Navigation.
Test: Run tests for wear.compose.navigation.
Bug: 212739653
Relnote: "We have added NavController.currentBackStackEntryAsState()
to the Wear.Compose.Navigation library."
Change-Id: If90286c7debe623df926a091f15766abf04f2ecc
M wear/compose/compose-navigation/api/restricted_current.txt
M wear/compose/compose-navigation/api/current.txt
M wear/compose/compose-navigation/src/androidTest/kotlin/androidx/wear/compose/navigation/SwipeDismissableNavHostTest.kt
M wear/compose/compose-navigation/api/public_plus_experimental_current.txt
M wear/compose/compose-navigation/src/main/java/androidx/wear/compose/navigation/SwipeDismissableNavHostController.kt
st...@google.com <st...@google.com>
je...@google.com <je...@google.com> #5
Hi Steve, which version of the library will this be released in?
je...@google.com <je...@google.com> #6
Never mind, it's in alpha15, missed that. Thanks!
Description
Component used: Navigation (Wear/Compose)
Version used: implementation "androidx.wear.compose:compose-navigation:1.0.0-alpha13"
Devices/Android versions reproduced on: N/A
Description:
A common pattern when using Compose + Compose Navigation to build a mobile app is to observe the current back stack entry ( NavHostController.currentBackStackEntryAsState() ) to determine what parts of the scaffold should be visible for certain screens.
You can see an example of this with the bottom navigation in this guide .
However, this method doesn't exist in Wear's Navigation version of the library. Can we add it?
I specifically want to only show the vignette in my scaffold when one of the destinations -> routes is a scrollable screen.
This is what I want to do:
Let me know if you need any more information. I was hoping to add this code to the advanced sample. Thanks!