Fixed
Status Update
Comments
il...@google.com <il...@google.com>
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #2
Looks like we're incorrectly using 0 as the placeholder value for 'no popUpTo was set' when in fact 0 is a valid value - the value of the root of the graph when no ID is set. We'll switch to a popUpTo of -1 as that default value.
il...@google.com <il...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 58cb7bb9e314406b30414b4198cba9d0d13256cb
Author: Ian Lake <ilake@google.com>
Date: Mon Feb 25 15:33:39 2019
Fix popUpTo with the root graph ID of 0
All navigation nodes must have a valid ID
*except* the root of the navigation graph, which
can have a ID of 0. We should still be able to
popUpTo the root of the graph by using
popUpTo on a navigate() option, so we need to change
the default value from 0 to -1.
Test: new NavControllerTest
Fixes: 126251695
Change-Id: Iac3ac25abdb91562753db25ff09d23bec7f46292
M navigation/common/ktx/src/main/java/androidx/navigation/NavOptionsBuilder.kt
M navigation/common/src/main/java/androidx/navigation/NavOptions.java
M navigation/runtime/src/androidTest/java/androidx/navigation/NavControllerTest.kt
M navigation/runtime/src/main/java/androidx/navigation/NavController.java
M navigation/runtime/src/main/java/androidx/navigation/NavInflater.java
https://android-review.googlesource.com/912257
https://goto.google.com/android-sha1/58cb7bb9e314406b30414b4198cba9d0d13256cb
Branch: androidx-master-dev
commit 58cb7bb9e314406b30414b4198cba9d0d13256cb
Author: Ian Lake <ilake@google.com>
Date: Mon Feb 25 15:33:39 2019
Fix popUpTo with the root graph ID of 0
All navigation nodes must have a valid ID
*except* the root of the navigation graph, which
can have a ID of 0. We should still be able to
popUpTo the root of the graph by using
popUpTo on a navigate() option, so we need to change
the default value from 0 to -1.
Test: new NavControllerTest
Fixes: 126251695
Change-Id: Iac3ac25abdb91562753db25ff09d23bec7f46292
M navigation/common/ktx/src/main/java/androidx/navigation/NavOptionsBuilder.kt
M navigation/common/src/main/java/androidx/navigation/NavOptions.java
M navigation/runtime/src/androidTest/java/androidx/navigation/NavControllerTest.kt
M navigation/runtime/src/main/java/androidx/navigation/NavController.java
M navigation/runtime/src/main/java/androidx/navigation/NavInflater.java
Description
Currently, the `Navigation` class has 2 signatures for `createNavigateOnClickListener`:
`createNavigateOnClickListener(final int resId)`
`createNavigateOnClickListener(final int resId, finalBundle args)`
I propose a third overload:
`createNavigateOnClickListener(NavDirections)`
This overload could trampoline to the other two, as necessary, but it would allow for users to avoid having to manually extract the ActionID and Bundle from the NavDirections. It would be a nicety on top of an already nice library :)