Status Update
Comments
il...@google.com <il...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
Author: Jeremy Woods <
Link:
Remove android specific NavControllerViewModel
Expand for full commit details
Remove android specific NavControllerViewModel
Everything in NavControllerViewModel is common API so we don't need an
Android version. Moving that code to common.
Test: all tests pass
Bug: 403616316
Change-Id: Ibe154b2d04adc0a536f9a5e170cc8fbb44ed1bcf
Files:
- D
navigation/navigation-runtime/src/androidMain/kotlin/androidx/navigation/NavControllerViewModel.android.kt
- M
navigation/navigation-runtime/src/commonMain/kotlin/androidx/navigation/NavControllerViewModel.kt
Hash: 3bb40a6be709d8c7e13f56f248a6433154aec72e
Date: Fri Mar 14 21:37:30 2025
ch...@gmail.com <ch...@gmail.com> #3
Project: platform/frameworks/support
Branch: androidx-main
Author: Jeremy Woods <
Link:
Implement nonAndroid NavType
Expand for full commit details
Implement nonAndroid NavType
Moving call common implementation of NavType to commonMain and then
allow both the nonAndroid and Android implementation to use them.
Test: all tests pass
Bug: 403616316
Change-Id: I297d8846859aaa719b179c7e69e993d0d6e28fd6
Files:
- M
navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavType.android.kt
- M
navigation/navigation-common/src/commonMain/kotlin/androidx/navigation/NavType.kt
- M
navigation/navigation-common/src/nonAndroidMain/kotlin/androidx/navigation/NavType.nonAndroid.kt
Hash: 8f968ddbb3b8296af2033db4cf2658255fa43853
Date: Fri Mar 14 22:41:34 2025
il...@google.com <il...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
Author: Jeremy Woods <
Link:
Change NavBackStackEntryState to SavedState
Expand for full commit details
Change NavBackStackEntryState to SavedState
Instead of NavBackStackEntryState being a Parcelable, we can change it
to use SavedState. This allows for compat with other platforms.
Test: all tests pass
Bug: 403616316
Change-Id: I1da40e98fbc70413e0818a95cb00aa1e5aa7a3dd
Files:
- M
navigation/navigation-runtime/src/androidMain/kotlin/androidx/navigation/NavBackStackEntryState.android.kt
- M
navigation/navigation-runtime/src/androidMain/kotlin/androidx/navigation/NavController.android.kt
- A
navigation/navigation-runtime/src/commonMain/kotlin/androidx/navigation/NavBackStackEntryState.kt
- A
navigation/navigation-runtime/src/commonMain/kotlin/androidx/navigation/internal/NavBackStackEntryStateImpl.kt
- A
navigation/navigation-runtime/src/nonAndroidMain/kotlin/androidx/navigation/NavBackStackEntryState.nonAndroid.kt
Hash: 52447f8ffb1f3e1f9890f8bb9d1ac1690aad508d
Date: Thu Mar 20 19:48:37 2025
ch...@gmail.com <ch...@gmail.com> #5
Project: platform/frameworks/support
Branch: androidx-main
Author: Jeremy Woods <
Link:
Introduce NavContext
Expand for full commit details
Introduce NavContext
Providing a multiplatform compatible version of Context that can be
used across navigation.
RelNote: "Added multi-platform NavContext that helps to wrap Android's context."
Test: all tests pass
Bug: 403616316
Change-Id: Ic4b1249ea6dc1a363855a4162ef136bf74809256
Files:
- M
navigation/navigation-common/bcv/native/current.txt
- M
navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavBackStackEntry.android.kt
- M
navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDestination.android.kt
- M
navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavGraph.android.kt
- A
navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/internal/NavContext.android.kt
- M
navigation/navigation-common/src/commonMain/kotlin/androidx/navigation/NavBackStackEntry.kt
- A
navigation/navigation-common/src/commonMain/kotlin/androidx/navigation/internal/NavContext.kt
- M
navigation/navigation-common/src/nonAndroidMain/kotlin/androidx/navigation/NavBackStackEntry.nonAndroid.kt
- A
navigation/navigation-common/src/nonAndroidMain/kotlin/androidx/navigation/internal/NavContext.nonAndroid.kt
- M
navigation/navigation-runtime/src/androidInstrumentedTest/kotlin/androidx/navigation/NavBackStackEntryTest.kt
- M
navigation/navigation-runtime/src/androidMain/kotlin/androidx/navigation/NavBackStackEntryState.android.kt
- M
navigation/navigation-runtime/src/androidMain/kotlin/androidx/navigation/NavController.android.kt
- M
navigation/navigation-runtime/src/androidMain/kotlin/androidx/navigation/NavDeepLinkBuilder.android.kt
- M
navigation/navigation-runtime/src/commonMain/kotlin/androidx/navigation/NavController.kt
- M
navigation/navigation-runtime/src/nonAndroidMain/kotlin/androidx/navigation/NavController.nonAndroid.kt
- M
navigation/navigation-testing/src/androidMain/kotlin/androidx/navigation/testing/TestNavigatorState.android.kt
- M
navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.kt
Hash: 11b876fc10dec008f1f3b979795470f92ed4bb19
Date: Fri Mar 21 15:15:05 2025
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
Author: Jeremy Woods <
Link:
Introduce AtomicInt
Expand for full commit details
Introduce AtomicInt
Adding a multi-platform AtomicInteger implementation and using it in
NavController.
Test: all tests pass
Bug: 403616316
Change-Id: I4126b3b9f946bd651afe06a242194e6f2d40302c
Files:
- M
navigation/navigation-runtime/src/androidMain/kotlin/androidx/navigation/NavController.android.kt
- A
navigation/navigation-runtime/src/androidMain/kotlin/androidx/navigation/internal/AtomicInt.android.kt
- A
navigation/navigation-runtime/src/commonMain/kotlin/androidx/navigation/internal/AtomicInt.kt
- A
navigation/navigation-runtime/src/nonAndroidMain/kotlin/androidx/navigation/internal/AtomicInt.nonAndroid.kt
Hash: f6fe240b918e01ca382e741b728f43c068e3d9db
Date: Tue Mar 25 19:34:06 2025
il...@google.com <il...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
Author: Jeremy Woods <
Link:
Provide NavController implementation in common
Expand for full commit details
Provide NavController implementation in common
Adding a new internal NavControllerImpl to clean up NavController
implementation.
RelNote: N/A
Test: all tests pass
Bug: 403616316
Change-Id: I7aee97b1c3a497803534480cb10205fdf0455310
Files:
- M
navigation/navigation-common/bcv/native/current.txt
- M
navigation/navigation-common/src/nonAndroidMain/kotlin/androidx/navigation/NavDestination.nonAndroid.kt
- M
navigation/navigation-runtime/bcv/native/current.txt
- M
navigation/navigation-runtime/src/androidMain/kotlin/androidx/navigation/NavController.android.kt
- M
navigation/navigation-runtime/src/commonMain/kotlin/androidx/navigation/NavController.kt
- A
navigation/navigation-runtime/src/commonMain/kotlin/androidx/navigation/internal/NavControllerImpl.kt
- M
navigation/navigation-runtime/src/nonAndroidMain/kotlin/androidx/navigation/NavController.nonAndroid.kt
Hash: 08d41ac1a7d63948d9747e5572e9bc47e2c539d6
Date: Wed Mar 26 07:51:37 2025
Description
I have two Activities, MainActivity and SecondActivity. Using Navigation architecture in MainActivity, which has two fragments, such as HomeFragment and DetailFragment, the Navigation diagram is declared as follows:
Generate ViewModels in the DetailFragment onCreate with "by navGraphViewModels".
There is a button in DetailFragment, clicking it will jump to SecondActivity, when "Do not keep background Activity" is enabled, pressing the back button in SecondActivity will trigger the program crash:
If I put the vm creation declaration in the onViewCreated lifecycle or later, there will be no crashes.
Does "by navGraphViewModels" necessarily require the user to use it this way?
In my opinion, as long as the NavBackStackEntry viewModelStore corresponding to "R.id.navigation_home_flow" is in the CREATED state, it's OK, not the DetailFragment.
The Navigation version I use is 2.4.0-alpha06.
Thanks in advance if you can address my issue.