Status Update
Comments
lo...@gmail.com <lo...@gmail.com> #2
It turns out this issue is due to by navArgs()
moving to navigation-common
, but the ProGuard rules still being located in the (now empty) navigation-common-ktx
. This means you can work around this issue by explicitly adding a dependency on androidx.navigation:navigation-common-ktx:2.4.0-alpha02
.
ag...@gmail.com <ag...@gmail.com> #3
Branch: androidx-main
commit 55af5f168e5a1e6dc73c8d35ac79598cb4ae5bd8
Author: Ian Lake <ilake@google.com>
Date: Wed Jun 09 16:57:14 2021
Move ProGuard rules from navigation-common-ktx to common
NavArgsLazy was moved to navigation-common, but
the related proguard-rules.pro wasn't moved with it.
This meant that apps that didn't specifically include
the (now empty) navigation-common-ktx artifact wouldn't
get the correct set of ProGuard rules.
Test: tested in sample app
BUG: 190082521
Relnote: "ProGuard rules for `by navArgs()` now properly
apply when using `navigation-common` or any artifacts
that depend on it."
Change-Id: I688009632403c98afe728d856ce91cd056ef32a5
M navigation/navigation-common-ktx/build.gradle
M navigation/navigation-common/build.gradle
M navigation/navigation-common/proguard-rules.pro
be...@google.com <be...@google.com> #4
This has been fixed internally and will be available in Navigation 2.4.0-alpha03.
ap...@google.com <ap...@google.com> #5
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
il...@google.com <il...@google.com> #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
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
ap...@google.com <ap...@google.com> #8
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
ap...@google.com <ap...@google.com> #9
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
ap...@google.com <ap...@google.com> #10
Branch: androidx-master-dev
commit 5aa702c7dc0b2888fcc051f6777e56c3d2397e5c
Author: Ian Lake <ilake@google.com>
Date: Wed Apr 22 14:54:47 2020
Add includeDynamic Builder
Allow developers to add include-dynamic destinations
via the Kotlin DSL.
Bug: 148969800
Test: cAT
Change-Id: Ic92a2201cc44526174b65ca433433d1dc169543f
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
A navigation/navigation-dynamic-features-runtime/src/androidTest/java/androidx/navigation/dynamicfeatures/DynamicIncludeNavGraphBuilderTest.kt
M navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/DynamicIncludeGraphNavigator.kt
A navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/DynamicIncludeNavGraphBuilder.kt
ap...@google.com <ap...@google.com> #11
Branch: androidx-master-dev
commit a386c72b7b40597559c8eecb3907ec6a1dedf3b0
Author: Ian Lake <ilake@google.com>
Date: Wed Apr 22 16:31:37 2020
Limit Dynamic Kotlin DSL to DynamicNavGraphBuilder
Dynamic Destinations need to be placed inside
a DynamicNavGraph to function properly, so we
should limit the Dynamic Kotlin DSLs to only
apply to that DynamicNavGraphBuilder scope, rather
than to any Kotlin DSL.
Test: tests still pass
BUG: 148969800
Change-Id: Ia9b54f60f19dcadc617201e582abaca51c097e78
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/main/java/androidx/navigation/dynamicfeatures/fragment/DynamicFragmentNavigatorDestinationBuilder.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/main/java/androidx/navigation/dynamicfeatures/DynamicActivityNavigatorDestinationBuilder.kt
M navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/DynamicIncludeNavGraphBuilder.kt
ap...@google.com <ap...@google.com> #12
Branch: androidx-master-dev
commit 74f1b7591f549e471dd86e23c43a6f0a04d128d4
Author: Ian Lake <ilake@google.com>
Date: Wed Apr 22 17:01:14 2020
Move optional parameters to be DSL variables
Instead of requiring that you define optional
parameters when constructing the DynamicNavGraph,
make them part of the DSL to mirror what we do
for the other builders.
This also fixes an issue with the progress
destination of 0 on restore.
Test: updated tests pass
BUG: 148969800
Change-Id: I2e897711da375e11e14dab5acf9c5117b38b63f3
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/DynamicNavGraphBuilderTest.kt
M navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/DynamicNavGraphBuilder.kt
M navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/NavController.kt
M navigation/navigation-dynamic-features-runtime/src/main/java/androidx/navigation/dynamicfeatures/NavHost.kt
il...@google.com <il...@google.com> #13
We've made significant improvements to the Kotlin DSL support for Dynamic Navigation and it'll be available in Navigation 2.3.0-alpha06.
lo...@gmail.com <lo...@gmail.com> #14
Is there any documentation to discover the changes?
Description
Component used: Navigation Version used: 2.3.0-alpha01
Currently, the Navigation Kotlin DSL only allows you to add NavGraph, FragmentNavigator.Destination, and other non-dynamic feature module aware destinations.
A parallel set of DSL extensions should be built to allow dynamic feature module destinations to easily be added to the Kotlin DSL. These would be distinguished from the others by the package name of the import.