Fixed
Status Update
Comments
jb...@google.com <jb...@google.com>
ap...@google.com <ap...@google.com> #2
The removal of the nested graphs and using popUpTo the given fragment appears to prevent the crash from happening in 1.0.0-alpha11.
ap...@google.com <ap...@google.com> #3
Project: platform/prebuilts/androidx/internal
Branch: androidx-master-dev
commit 63bc1ff1fe7c348138295ee7efb8cdc2999622c0
Author: Ian Lake <ilake@google.com>
Date: Sun Feb 03 15:18:53 2019
Update prebuilts for Navigation 1.0.0-beta01
Include fix for b/123803044
Test: ./gradlew bOS
Change-Id: Icb2a50975541a7bd3327054c72a591c7689c9741
M android/arch/navigation/navigation-common/1.0.0-beta01/navigation-common-1.0.0-beta01.aar
M android/arch/navigation/navigation-common/1.0.0-beta01/navigation-common-1.0.0-beta01.aar.md5
M android/arch/navigation/navigation-common/1.0.0-beta01/navigation-common-1.0.0-beta01.aar.sha1
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01-sources.jar
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01-sources.jar.md5
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01-sources.jar.sha1
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01.aar
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01.aar.md5
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01.aar.sha1
M android/arch/navigation/navigation-runtime/1.0.0-beta01/navigation-runtime-1.0.0-beta01.aar
M android/arch/navigation/navigation-runtime/1.0.0-beta01/navigation-runtime-1.0.0-beta01.aar.md5
M android/arch/navigation/navigation-runtime/1.0.0-beta01/navigation-runtime-1.0.0-beta01.aar.sha1
M android/arch/navigation/navigation-ui/1.0.0-beta01/navigation-ui-1.0.0-beta01.aar
M android/arch/navigation/navigation-ui/1.0.0-beta01/navigation-ui-1.0.0-beta01.aar.md5
M android/arch/navigation/navigation-ui/1.0.0-beta01/navigation-ui-1.0.0-beta01.aar.sha1
https://android-review.googlesource.com/892878
https://goto.google.com/android-sha1/63bc1ff1fe7c348138295ee7efb8cdc2999622c0
Branch: androidx-master-dev
commit 63bc1ff1fe7c348138295ee7efb8cdc2999622c0
Author: Ian Lake <ilake@google.com>
Date: Sun Feb 03 15:18:53 2019
Update prebuilts for Navigation 1.0.0-beta01
Include fix for
Test: ./gradlew bOS
Change-Id: Icb2a50975541a7bd3327054c72a591c7689c9741
M android/arch/navigation/navigation-common/1.0.0-beta01/navigation-common-1.0.0-beta01.aar
M android/arch/navigation/navigation-common/1.0.0-beta01/navigation-common-1.0.0-beta01.aar.md5
M android/arch/navigation/navigation-common/1.0.0-beta01/navigation-common-1.0.0-beta01.aar.sha1
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01-sources.jar
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01-sources.jar.md5
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01-sources.jar.sha1
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01.aar
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01.aar.md5
M android/arch/navigation/navigation-fragment/1.0.0-beta01/navigation-fragment-1.0.0-beta01.aar.sha1
M android/arch/navigation/navigation-runtime/1.0.0-beta01/navigation-runtime-1.0.0-beta01.aar
M android/arch/navigation/navigation-runtime/1.0.0-beta01/navigation-runtime-1.0.0-beta01.aar.md5
M android/arch/navigation/navigation-runtime/1.0.0-beta01/navigation-runtime-1.0.0-beta01.aar.sha1
M android/arch/navigation/navigation-ui/1.0.0-beta01/navigation-ui-1.0.0-beta01.aar
M android/arch/navigation/navigation-ui/1.0.0-beta01/navigation-ui-1.0.0-beta01.aar.md5
M android/arch/navigation/navigation-ui/1.0.0-beta01/navigation-ui-1.0.0-beta01.aar.sha1
jb...@google.com <jb...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-master-dev
commit c775e5d1ae2ab4b194ee3c0f18523c603cf4d6ec
Author: Ian Lake <ilake@google.com>
Date: Sun Feb 03 15:04:21 2019
Return true when popping from FragmentNavigator
Since NavController only updates its back stack when
a Navigator returns true from popBackStack(), ensure
that all updates to the FragmentNavigator's back stack
(i.e., calling removeLast()) are paired with returning
true from popBackStack().
This ensures that the FragmentManager state and the
NavController states don't get out of sync.
Test: Updated FragmentNavigatorTest test
Test: tested in sample app from bug
BUG: 123803044
Change-Id: I8cfc87cba0a0369b5ae5c3ac610e31b5556ba04e
M navigation/fragment/src/androidTest/java/androidx/navigation/fragment/FragmentNavigatorTest.kt
M navigation/fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.java
https://android-review.googlesource.com/892996
https://goto.google.com/android-sha1/c775e5d1ae2ab4b194ee3c0f18523c603cf4d6ec
Branch: androidx-master-dev
commit c775e5d1ae2ab4b194ee3c0f18523c603cf4d6ec
Author: Ian Lake <ilake@google.com>
Date: Sun Feb 03 15:04:21 2019
Return true when popping from FragmentNavigator
Since NavController only updates its back stack when
a Navigator returns true from popBackStack(), ensure
that all updates to the FragmentNavigator's back stack
(i.e., calling removeLast()) are paired with returning
true from popBackStack().
This ensures that the FragmentManager state and the
NavController states don't get out of sync.
Test: Updated FragmentNavigatorTest test
Test: tested in sample app from bug
BUG: 123803044
Change-Id: I8cfc87cba0a0369b5ae5c3ac610e31b5556ba04e
M navigation/fragment/src/androidTest/java/androidx/navigation/fragment/FragmentNavigatorTest.kt
M navigation/fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.java
Description
Component used: Activity
Version used: 1.7.2
As explained in the Predictive Back guide , you shouldn't use an
OnBackPressedCallback
for non-UI cases (for example, just for logging back). If you add a callback, you have to handle back completely in your callback.That means that calling
remove()
and triggering back viarequireActivity.onBackPressed()
oronBackPressedDispatcher.onBackPressed()
is always an anti-pattern and something that you should not do.It would be helpful if there was a Lint error that specifically catch this case and warn developers ahead of time that this is the wrong thing to do and offer alternatives or at least link to the guide for more information.