Fixed
Status Update
Comments
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit b17204359581a71c427d7519a6cfc1825141ed72
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Mar 17 21:47:24 2023
Prevent crash when adding unmanaged fragment in nav
Currently, if you attempt to add a fragment to the fragment manager
associated with the FragmentNavigator, navigation crashes as it cannot
find an entry associated with fragment.
While it is strongly recommended to only use navigation APIs to
manipulate the fragment manager, if the back stack is not affected, then
we should not crash.
RelNote: "Adding fragments to the `FragmentNavigator`'s
`FragmentManager` without using navigation will no longer crash."
Test: Added FragmentNavigatorTest
Bug: 274167493
Change-Id: I47d4c75ca46ee7f8282b2a7b97d28d71edd9a07b
M navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/FragmentNavigatorTest.kt
M navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt
https://android-review.googlesource.com/2496343
Branch: androidx-main
commit b17204359581a71c427d7519a6cfc1825141ed72
Author: Jeremy Woods <jbwoods@google.com>
Date: Fri Mar 17 21:47:24 2023
Prevent crash when adding unmanaged fragment in nav
Currently, if you attempt to add a fragment to the fragment manager
associated with the FragmentNavigator, navigation crashes as it cannot
find an entry associated with fragment.
While it is strongly recommended to only use navigation APIs to
manipulate the fragment manager, if the back stack is not affected, then
we should not crash.
RelNote: "Adding fragments to the `FragmentNavigator`'s
`FragmentManager` without using navigation will no longer crash."
Test: Added FragmentNavigatorTest
Bug: 274167493
Change-Id: I47d4c75ca46ee7f8282b2a7b97d28d71edd9a07b
M navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/FragmentNavigatorTest.kt
M navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt
il...@google.com <il...@google.com> #3
This has been fixed internally and will be in the Navigation 2.6.0-alpha08
release.
Description
Version used: 1.0.0-rc01
I recently worked on an app with package name 'in.bitotsav', and used navigation architecture component to implement a single activity structure. I had been using safeargs using
apply plugin: "androidx.navigation.safeargs"
But just now, I discovered the availability of "androidx.navigation.safeargs.kotlin", so I tried applying it. But it leads to compilation error due to the 'in' part of the package name not being escaped in the generated code, for statements like:
override fun getActionId(): Int = in.bitotsav.R.id.action_global_destEventDetail
and
fun actionDestLoginToDestRegistration(): NavDirections =
ActionOnlyNavDirections(in.bitotsav.R.id.action_destLogin_to_destRegistration)
This can be fixed if the 'in' is escaped with backticks, as:
override fun getActionId(): Int = `in`.bitotsav.R.id.action_global_destEventDetail
This is also what is done by android studio in imports.
Version Info:
minSdkVersion 21
targetSdkVersion 28
Android Studio 3.5 Canary 3
Build #AI-183.5153.38.35.5256920, built on January 24, 2019
JRE: 1.8.0_152-release-1248-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.20.8-arch1-1-ARCH