Status Update
Comments
ti...@gmail.com <ti...@gmail.com> #2
Oh I forgot to mention that I thought it might be connected to this issue:
il...@google.com <il...@google.com> #3
Please provide a minimal sample project along with the minimal steps to recreate the issue in the project.
ti...@gmail.com <ti...@gmail.com> #4
Sorry for the delay. I got a working example here:
I poked into it a little bit and it seems to be connected to
Steps to reproduce:
- Navigate from Second Fragment to Child nav graph (with non-nullable parameters).
- Navigate to Third fragment using SafeArgs and the app crashes.
Crash log:
Process: cz.dels.issues, PID: 1743
java.lang.NullPointerException: null cannot be cast to non-null type kotlin.Long
at androidx.navigation.NavType$Companion$LongType$1.get(NavType.kt:352)
at androidx.navigation.NavType$Companion$LongType$1.get(NavType.kt:342)
at androidx.navigation.NavArgument.verify(NavArgument.kt:76)
at androidx.navigation.NavDestination.addInDefaultArgs(NavDestination.kt:502)
at androidx.navigation.NavController.addEntryToBackStack(NavController.kt:1865)
at androidx.navigation.NavController.addEntryToBackStack$default(NavController.kt:1813)
at androidx.navigation.NavController$navigate$4.invoke(NavController.kt:1721)
at androidx.navigation.NavController$navigate$4.invoke(NavController.kt:1719)
at androidx.navigation.NavController$NavControllerNavigatorState.push(NavController.kt:287)
at androidx.navigation.fragment.FragmentNavigator.navigate(FragmentNavigator.kt:246)
at androidx.navigation.fragment.FragmentNavigator.navigate(FragmentNavigator.kt:162)
at androidx.navigation.NavController.navigateInternal(NavController.kt:260)
at androidx.navigation.NavController.navigate(NavController.kt:1719)
at androidx.navigation.NavController.navigate(NavController.kt:1545)
at androidx.navigation.NavController.navigate(NavController.kt:1472)
at androidx.navigation.NavController.navigate(NavController.kt:1930)
at cz.dels.issues.SecondFragment.onViewCreated$lambda-0(SecondFragment.kt:38)
at cz.dels.issues.SecondFragment.$r8$lambda$XDYnOS_cYrafiNQ5rcCu1WCn0IE(Unknown Source:0)
at cz.dels.issues.SecondFragment$$ExternalSyntheticLambda0.onClick(Unknown Source:2)
Note: If in step 2 SaveArgs is not used then navigation works correctly. More information is here:
ru...@gmail.com <ru...@gmail.com> #5
Ups a typo: Navigate from Second First Fragment to Child nav graph (with non-nullable parameters).
Note: sorry for the spam but I am not able to edit my own comment.
k8...@gmail.com <k8...@gmail.com> #6
This has been fixed and will be available in navigation 2.6.0-alpha08
il...@google.com <il...@google.com> #7
Branch: androidx-main
commit 6b358154b794a0456b089ac8e548bfb830dd6c22
Author: Clara Fok <clarafok@google.com>
Date: Tue Mar 14 17:56:12 2023
Fix missing non-nullable arg when rebuilding hierarchy
When navigating with NavDirections, args is populated with an empty bundle. This causes issue when we rebuild parent hierarchy while adding a new entry to NavBackStack. If the Entry being rebuilt contains a non-nullalbe arg, i.e. Long, this empty bundle will cause an exception.
Test: ./gradlew navigation:navigation-runtime:cC
Bug: 249988437
Change-Id: I5c8ce739ad9a3428c8a8de13eae391bfff0db5df
M navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavControllerTest.kt
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.kt
jb...@google.com <jb...@google.com>
ap...@google.com <ap...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.navigation:navigation-runtime:2.6.0-alpha08
ap...@google.com <ap...@google.com> #9
Branch: androidx-main
commit 256f919c6b8d579bc55e19d829aed438422f463b
Author: Clara Fok <clarafok@google.com>
Date: Wed May 10 10:48:32 2023
Migrate accompanist NavHost and NavController into androidx
Test: ./gradlew navigation:navigation-compose:cC
Bug: 197140101
Relnote: "NavHost and NavController now supports navigating in compose with Animations."
Change-Id: Ica95e794ef1794df4d1bdb38719b55624f832868
M navigation/navigation-compose/api/current.txt
M navigation/navigation-compose/api/public_plus_experimental_current.txt
M navigation/navigation-compose/api/restricted_current.txt
M navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavHostControllerTest.kt
M navigation/navigation-compose/src/androidTest/java/androidx/navigation/compose/NavHostTest.kt
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/ComposeNavigator.kt
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavGraphBuilder.kt
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavHost.kt
ap...@google.com <ap...@google.com> #10
Branch: androidx-main
commit 682bae8ada2b2b29376003d55455230ff7320a69
Author: Clara Fok <clarafok@google.com>
Date: Tue May 09 15:13:14 2023
Migrate accompanist NavGraphBuilder into androidx
Test: ./gradlew navigation:navigation-compose:cC
Bug: 197140101
Relnote: "NavGraphBuilder now supports building composables and NavGraphs with transition animations."
Change-Id: I5ca9e22c8c3b02acaf80ddaa35b58ba7426c993a
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/NavGraphBuilder.kt
ap...@google.com <ap...@google.com> #11
Branch: androidx-main
commit 895c4bb35ee11fe1c54f538699a845ddfaf7e2eb
Author: Clara Fok <clarafok@google.com>
Date: Tue May 09 13:14:10 2023
Migrate accompanist ComposeNavigator into androidx
Test: ./gradlew navigation:navigation-compose:cC
Bug: 197140101
Relnote: "ComposeNavigator now supports Destinations with Animations."
Change-Id: Ie33b4c2da53ff6c89494332a06be8123be67e879
M navigation/navigation-compose/src/main/java/androidx/navigation/compose/ComposeNavigator.kt
ap...@google.com <ap...@google.com> #12
Branch: androidx-main
commit 169254301b8aad0454c253a65abff7bf174ba164
Author: Clara Fok <clarafok@google.com>
Date: Tue May 09 11:11:42 2023
Bump compose version in navigation-compose
Bump from 1.0.1 to ToT project dependency. Project dependency because compose is currently in alpha.
Test: n/a
Bug: 197140101
Relnote: "navigation-compose has bumped compose dependency to use latest compose dependency"
Change-Id: Ide442548636637c2b75d46ef99c9913b0ebb60b8
M navigation/navigation-compose/build.gradle
il...@google.com <il...@google.com> #13
Now that AnimatedContent
is stable, we were able to move the code from
This means all of the support for setting custom transitions that existed in AnimatedNavHost
is directly supported in NavHost
.
This is available in
We'll be publishing a deprecation guide once Navigation 2.7.0-alpha01 is released, but it'll be essentially the inverse of the 0.31.2-alpha
).
Description
As of compose Compose Animation APIs are still
1.0.1
many of the@Experimental
.Because of AndroidX internal restrictions, modules cannot depend on experimental APIs from other modules.
In the interest of providing a solution for Navigation with custom Compose Animations as soon as possible, we opted to provide a new module in Accompanist Navigation . Once all the required animation APIs become stable, which is planned as part of Compose
1.1.0
, we will move the implementation back into theJetpack Navigation library
fromAccompanist Navigation Animation
.For more details, see the Animations in Navigation Compose blog post.