Status Update
Comments
jb...@google.com <jb...@google.com>
cs...@supercharge.io <cs...@supercharge.io> #2
Project: platform/frameworks/support
Branch: androidx-main
Author: Clara Fok <
Link:
Fix ActivityNavigator not encoding with NavType
Expand for full commit details
Fix ActivityNavigator not encoding with NavType
When navigating with dynamic arugments, ActivityNavigator should first try to encode the argument value with the associated NavType. If NavType is not present (XML file has dataPattern but not arguments added) then we should fallback to existing behavior of just encoding the arg value with toString().
Test: ./gradlew navigation:navigation-runtime:cC
Bug: 383616432
Relnote: "When navigating to activity with dataPattern, ActivityNavigator will now try to encode the arg value with the argument's NavType."
Change-Id: I163763c46090ae9b4c8ee75d52142986e507c0c3
Files:
- M
navigation/navigation-runtime/src/androidTest/java/androidx/navigation/ActivityNavigatorTest.kt
- M
navigation/navigation-runtime/src/main/java/androidx/navigation/ActivityNavigator.kt
Hash: ad1ddb7df46854191c753e309e72216fae9309de
Date: Mon Jan 06 15:51:40 2025
jb...@google.com <jb...@google.com> #3
Fixed internally and available in navigation 2.9.0-alpha05
cs...@supercharge.io <cs...@supercharge.io> #4
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.navigation:navigation-runtime:2.9.0-alpha05
androidx.navigation:navigation-runtime:2.8.6
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
Author: Csaba Kozák <
Link:
[GH] Add support for List<Enum> arguments in typesafe navigation
Expand for full commit details
[GH] Add support for List<Enum> arguments in typesafe navigation
## Proposed Changes
Add support for List<Enum> arguments in typesafe navigation
## Testing
Test: ./gradlew navigation:navigation-common:test
Test: ./gradlew navigation:navigation-common:cC
Test: ./gradlew navigation:navigation-runtime:cC
## Issues Fixed
Fixes: 375559962
This is an imported pull request from https://github.com/androidx/androidx/pull/725.
Resolves #725
Github-Pr-Head-Sha: 79289f5cd89a355aa44ac1a7190301cde1e03ae9
GitOrigin-RevId: 5d12e8b036e98d45944806f1d16a00b0769b49e2
Change-Id: Ie67dc9665634751da06fad21c93e9475627e7e62
Files:
- M
navigation/navigation-common/src/androidTest/java/androidx/navigation/serialization/RouteDecoderTest.kt
- M
navigation/navigation-common/src/androidTest/java/androidx/navigation/serialization/RouteFilledTest.kt
- M
navigation/navigation-common/src/main/java/androidx/navigation/serialization/NavTypeConverter.kt
- M
navigation/navigation-common/src/test/java/androidx/navigation/serialization/NavArgumentGeneratorTest.kt
- M
navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerRouteTest.kt
Hash: 061287da098c4249bbe0b3a10add04feb9bdf5ae
Date: Mon Nov 18 22:24:48 2024
cl...@google.com <cl...@google.com> #6
Fixed externally and will be available in navigation 2.8.5
pr...@google.com <pr...@google.com> #7
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.navigation:navigation-common:2.9.0-alpha04
androidx.navigation:navigation-runtime:2.9.0-alpha04
androidx.navigation:navigation-common:2.8.5
androidx.navigation:navigation-runtime:2.8.5
il...@google.com <il...@google.com> #9
We've added a note to the release notes - thanks again!
In the future, note that you can add a Relnote:
line in the pull request's description to ensure it gets into the release notes automatically.
ko...@gmail.com <ko...@gmail.com> #10
Thanks! I followed the Relnote:
, maybe it should be added there.
Description
Version used: 2.8.3
@Serializable
class MyRoute(
val platforms: List<Platform>
)
enum class Platform {
ANDROID, IOS
}
composable<MyRoute> { MyScreen() }
This will result in an exception:
java.lang.IllegalArgumentException: Route MyRoute could not find any NavType for argument platforms of type kotlin.collections.ArrayList - typeMap received was {}
Please support list of enums by default.