Fixed
Status Update
Comments
jb...@google.com <jb...@google.com>
do...@google.com <do...@google.com> #2
We also need documentation with a few examples for it.
cl...@google.com <cl...@google.com> #3
Any progress with the documentation?
st...@warting.se <st...@warting.se> #4
Changelists related to this issue will be linked once they are submitted.
cl...@google.com <cl...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-master-dev
commit dc23f5c30d0394593e16a594c1502059f7e11140
Author: Ben Weiss <benweiss@google.com>
Date: Mon Mar 09 13:08:13 2020
Kotlin DSL for navigation-dynamic-features-*
Test: check & connectedCheck of affected modules
Bug: 148969800
Change-Id: Icd0cb16fbe7035aca6638c5fb984f27b6eb1ee0c
M navigation/navigation-dynamic-features-fragment/api/2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-fragment/api/current.txt
M navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_current.txt
M navigation/navigation-dynamic-features-fragment/api/restricted_2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-fragment/api/restricted_current.txt
M navigation/navigation-dynamic-features-fragment/src/androidTest/AndroidManifest.xml
A navigation/navigation-dynamic-features-fragment/src/androidTest/java/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilderTest.kt
A navigation/navigation-dynamic-features-fragment/src/main/java/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilder.kt
M navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-runtime/api/current.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_current.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_current.txt
A navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicActivityNavigatorDestinationBuilderTest.kt
M navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/DynamicActivityNavigator.kt
A navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/DynamicActivityNavigatorDestinationBuilder.kt
https://android-review.googlesource.com/1253672
Branch: androidx-master-dev
commit dc23f5c30d0394593e16a594c1502059f7e11140
Author: Ben Weiss <benweiss@google.com>
Date: Mon Mar 09 13:08:13 2020
Kotlin DSL for navigation-dynamic-features-*
Test: check & connectedCheck of affected modules
Bug: 148969800
Change-Id: Icd0cb16fbe7035aca6638c5fb984f27b6eb1ee0c
M navigation/navigation-dynamic-features-fragment/api/2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-fragment/api/current.txt
M navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_current.txt
M navigation/navigation-dynamic-features-fragment/api/restricted_2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-fragment/api/restricted_current.txt
M navigation/navigation-dynamic-features-fragment/src/androidTest/AndroidManifest.xml
A navigation/navigation-dynamic-features-fragment/src/androidTest/java/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilderTest.kt
A navigation/navigation-dynamic-features-fragment/src/main/java/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilder.kt
M navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-runtime/api/current.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_current.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_2.3.0-alpha04.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_current.txt
A navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicActivityNavigatorDestinationBuilderTest.kt
M navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/DynamicActivityNavigator.kt
A navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/DynamicActivityNavigatorDestinationBuilder.kt
st...@warting.se <st...@warting.se> #6
Integration into the Kotlin DSL for dynamic feature <activity>
and <fragment>
destinations is complete internally and will be available in Navigation 2.3.0-alpha04
.
Still to do:
- Support for
DynamicNavGraph
(i.e.,<navigation>
elements) with amoduleName
in the DSL - Support for something like
<dynamic-include>
(<include>
isn't necessary in the Kotlin DSL since you'd just callnavInflater.inflate()
yourself, but for dynamic navigation you would need some equivalent to callnavInflater.inflate()
after the module is downloaded)
We're tracking the Kotlin DSL documentation separately from this in an internal bug; it is not tied to any specific Navigation release.
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-master-dev
commit c42b100d8e7180204009ec0a92b6ff45a0e26b17
Author: Ben Weiss <benweiss@google.com>
Date: Wed Apr 08 22:17:18 2020
Add DSL for DynamicNavGraph
Bug: 148969800
Test: connectedCheck
Change-Id: Ieb206b2f8ea0daddac84f5297edb533a649249f2
M navigation/navigation-common-ktx/api/2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/current.txt
M navigation/navigation-common-ktx/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/public_plus_experimental_current.txt
M navigation/navigation-common-ktx/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/restricted_current.txt
M navigation/navigation-common-ktx/src/main/java/androidx/navigation/NavGraphBuilder.kt
M navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha05.txt
M navigation/navigation-dynamic-features-runtime/api/current.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_current.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_current.txt
A navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilderTest.kt
A navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.kt
https://android-review.googlesource.com/1282383
Branch: androidx-master-dev
commit c42b100d8e7180204009ec0a92b6ff45a0e26b17
Author: Ben Weiss <benweiss@google.com>
Date: Wed Apr 08 22:17:18 2020
Add DSL for DynamicNavGraph
Bug: 148969800
Test: connectedCheck
Change-Id: Ieb206b2f8ea0daddac84f5297edb533a649249f2
M navigation/navigation-common-ktx/api/2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/current.txt
M navigation/navigation-common-ktx/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/public_plus_experimental_current.txt
M navigation/navigation-common-ktx/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-common-ktx/api/restricted_current.txt
M navigation/navigation-common-ktx/src/main/java/androidx/navigation/NavGraphBuilder.kt
M navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha05.txt
M navigation/navigation-dynamic-features-runtime/api/current.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_2.3.0-alpha05.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_current.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_2.3.0-alpha05.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_current.txt
A navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilderTest.kt
A navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.kt
cl...@google.com <cl...@google.com> #8
Project: platform/frameworks/support
Branch: androidx-master-dev
commit d19e5f34470f9d079887149202930c747b8c165e
Author: Ben Weiss <benweiss@google.com>
Date: Wed Apr 22 21:55:28 2020
Create DynamicNavGraphs from NavController
Add extension to NavController and NavHost for creation
of DynamicNavGraphs in Kotlin DSL.
Bug: 148969800
Test: gw cAT
Change-Id: I4c3870f29707afc3fba13323d103fe2f22b64b4a
M navigation/navigation-dynamic-features-fragment/src/androidTest/java/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilderTest.kt
M navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-runtime/api/current.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_current.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_current.txt
M navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicActivityNavigatorDestinationBuilderTest.kt
A navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/NavController.kt
A navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/NavHost.kt
https://android-review.googlesource.com/1293555
Branch: androidx-master-dev
commit d19e5f34470f9d079887149202930c747b8c165e
Author: Ben Weiss <benweiss@google.com>
Date: Wed Apr 22 21:55:28 2020
Create DynamicNavGraphs from NavController
Add extension to NavController and NavHost for creation
of DynamicNavGraphs in Kotlin DSL.
Bug: 148969800
Test: gw cAT
Change-Id: I4c3870f29707afc3fba13323d103fe2f22b64b4a
M navigation/navigation-dynamic-features-fragment/src/androidTest/java/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilderTest.kt
M navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-runtime/api/current.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_current.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-runtime/api/restricted_current.txt
M navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicActivityNavigatorDestinationBuilderTest.kt
A navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/NavController.kt
A navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/NavHost.kt
pr...@google.com <pr...@google.com> #9
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 3c0404251aeb98801b422072f86127739fa59f60
Author: Ben Weiss <benweiss@google.com>
Date: Wed Apr 22 21:54:02 2020
Add reified fragment for dynamic fragments
Bug: 148969800
Test: gw cAT
Change-Id: Ie03d9ed0b21b854d6595c0208ce23a4c13294273
M navigation/navigation-dynamic-features-fragment/api/2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-fragment/api/current.txt
M navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_current.txt
M navigation/navigation-dynamic-features-fragment/api/restricted_2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-fragment/api/restricted_current.txt
M navigation/navigation-dynamic-features-fragment/src/androidTest/java/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilderTest.kt
M navigation/navigation-dynamic-features-fragment/src/main/java/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilder.kt
https://android-review.googlesource.com/1293554
Branch: androidx-master-dev
commit 3c0404251aeb98801b422072f86127739fa59f60
Author: Ben Weiss <benweiss@google.com>
Date: Wed Apr 22 21:54:02 2020
Add reified fragment for dynamic fragments
Bug: 148969800
Test: gw cAT
Change-Id: Ie03d9ed0b21b854d6595c0208ce23a4c13294273
M navigation/navigation-dynamic-features-fragment/api/2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-fragment/api/current.txt
M navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_current.txt
M navigation/navigation-dynamic-features-fragment/api/restricted_2.3.0-alpha06.txt
M navigation/navigation-dynamic-features-fragment/api/restricted_current.txt
M navigation/navigation-dynamic-features-fragment/src/androidTest/java/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilderTest.kt
M navigation/navigation-dynamic-features-fragment/src/main/java/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilder.kt
Description
Version used: 2.8.0-alpha08
If passing an empty string as an safe argument the destination does not exists
@Serializable
object LoginSelector
@Serializable
data class RegisterUser(val email: String)
NavHost(
navController = navController,
startDestination = LoginSelector,
modifier = modifier
) {
composable<LoginSelector> {
Button(onClick = {
navController.navigate(RegisterUser("foo")) // Works!
}) {
Text(text = "Login1")
}
Button(onClick = {
navController.navigate(RegisterUser("")) // Doesn't work. Destination does not exists
}) {
Text(text = "Login2")
}
Button(onClick = {
navController.navigate(RegisterUser(null)) // works if making email nullable
}) {
Text(text = "Login3")
}
}
composable<RegisterUser> { backStackEntry ->
val emailLogin: RegisterUser = backStackEntry.toRoute()
Text(text =emailLogin.email)
}
}