Status Update
Comments
il...@google.com <il...@google.com> #2
Branch: androidx-main
commit 7b17505c2e3679330cf386efe69f1aa95b6ae9e9
Author: Jeremy Woods <jbwoods@google.com>
Date: Thu Jan 06 14:47:42 2022
Update safeArgs to AGP 7.0.4
Updating safeArgs to depend on AGP 7.0.4.
Removing the use of reflection from the plugin since we no longer
needed.
RelNote: "Safe Args now depends on Android Gradle Plugin version 7.0.4.
This means that Navigation Safe Args will no longer be compatible with
Android Studio versions prior to 7.0."
Test: ./gradlew --rerun-tasks navigation:navigation-safe-args-gradle-plugin:test
Bug: 213086135
Bug: 207670704
Change-Id: I41c88ee06ad827c61cb1bbdc5ba58b3d56155caf
M navigation/navigation-safe-args-gradle-plugin/build.gradle
M navigation/navigation-safe-args-gradle-plugin/src/main/kotlin/androidx/navigation/safeargs/gradle/SafeArgsPlugin.kt
ch...@gmail.com <ch...@gmail.com> #3
Do you know if I can try this out in a snapshot or has it been published under a version name? (sorry, things in gerrit still confuse me so maybe its already clear that this is fixed and shipped!)
il...@google.com <il...@google.com> #4
Yes, you can follow the
ap...@google.com <ap...@google.com> #6
Yay. I can confirm that your fix worked. Thanks! And you were able to beat out the firebase perf plugin in getting a fix released. Thank you! This unblocks my team!
Heads up what I had to do. add the maven repo to buildscript repos
buildscript {
repositories {
google()
mavenCentral()
maven("https://androidx.dev/snapshots/builds/8054565/artifacts/repository")
}
}
then update the plugin to
classpath("androidx.navigation:navigation-safe-args-gradle-plugin:2.5.0-SNAPSHOT")
I don't know whether I should update the rest of my nav deps to 2.5.0 snapshot, but this'll do for now.
il...@google.com <il...@google.com> #7
Generally, if possible, you should keep your safe args and other nav dependencies in sync just in case there are dependent changes in either module.
But for that particular build ID, this is the only difference between 2.4.0-rc01
and 2.5.0
so if you wanted to keep it as is, there should not be any issues.
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.