Status Update
Comments
do...@gmail.com <do...@gmail.com> #2
Great
ml...@google.com <ml...@google.com>
bo...@google.com <bo...@google.com>
wd...@google.com <wd...@google.com> #3
Branch: androidx-main
commit a735aaa4d06c90454de772fae5a02f6cbde210b3
Author: Jeremy Woods <jbwoods@google.com>
Date: Tue Feb 28 22:58:23 2023
Ensure FragmentNavigator destroys intermediate entries on popUpTo
We need to make sure that when Fragment are destroyed their entries are
also always destroyed.
RelNote: "Fixes a regressions in previous release that caused the wrong
BottomNav menu item to be highlighted when using system back to go
between tabs."
Test: Added FragmentNavigatorTest
Bug: 270447657
Change-Id: I634f6047b7016bcb8b690047605a6f66b2dc1438
M navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/FragmentNavigatorTest.kt
M navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt
do...@gmail.com <do...@gmail.com> #4
This has been fixed internally and will be available in the Navigation 2.6.0-alpha07
release.
wd...@google.com <wd...@google.com> #5
Branch: androidx-main
commit 96cee05bdb8f61a92e4be00a52b991cfc1ed2f4e
Author: Clara Fok <clarafok@google.com>
Date: Wed Mar 01 12:28:09 2023
Add FragmentNavigator test to assert entry destroyed
Add test to assert that NavBackStackEntry is destroyed after being restored upon recreation/configuration change.
Asserts that the fix on this bug also fixes
Test: ./gradlew navigation:navigation-fragment
Bug: 270447657
Change-Id: I8874d2dfaa17e560dd2f6d9da54e435494c187d2
M navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/FragmentNavigatorTest.kt
wd...@google.com <wd...@google.com> #6
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.navigation:navigation-fragment:2.6.0-alpha07
ma...@google.com <ma...@google.com> #7
Branch: androidx-main
commit 7cf55857f0db6bd1a1e1f95be7374ed5cf3eca58
Author: Jeremy Woods <jbwoods@google.com>
Date: Wed Mar 15 16:59:50 2023
Fix system back after popUpTo
After you do a popUpTo inclusive while using Navigation with Fragments,
if you attempt to do a system back call, the Navigation back stack is
never updated.
The reason for this is that when fragment views are DESTROYED, we need
for the observer in the FragmentNavigator to update the state so we know
that the entry was already popped.
RelNote: "When using system back after doing a navigate with popUpTo,
the state of the NavController will pop to the correct entry."
Test: Added OnBackPressedTest
Bug: 270447657
Change-Id: I3a8ec072ba6d1655ab054cc081961825909088e6
M navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/OnBackPressedTest.kt
M navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/FragmentNavigator.kt
ma...@google.com <ma...@google.com> #8
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.navigation:navigation-fragment:2.6.0-alpha08
wd...@google.com <wd...@google.com> #9
RE#7 Thanks for the detailed explanation and really appreciate the solution mentioned in
Fixes in order of preference:
(a) The network should 'simply' be fixed to return a non-link local DNS IPv6 address.
(b) Make Android Studio simply ignore fe80::/64 dns servers (strip them out, you'd be left with just 192.168.1.1) - though this may end up with Android Studio networking coming up without any ipv6 connection.
(c) You could in such a case use a hardcoded DNS server - like the Google DNS ips you mentioned in #6.
However, not using the DNS provided by the system is usually something that shouldn't be done (for privacy reasons...)
As such I'd recommend doing (a) and/or (b) and perhaps adding a flag (or config option or something) to manually specify / override the DNS servers to use (perhaps one for ipv4, one for ipv6??).
I think emulator should implement (b) at least and (c) should be only enabled if an option is provided.
do...@gmail.com <do...@gmail.com> #11
Apparently, the issue has been resolved in Android Emulator 32.1.11-9536276. After updating and restarting AS I see that network works.
However, if I run from CL, network works but log is the same for 32.1.11 with pixel 2 API 33:
VERBOSE | Found 2 DNS servers:
VERBOSE | fe80::16de:39ff:fe44:5806
VERBOSE | 192.168.1.1
wd...@google.com <wd...@google.com> #12
RE#11 Ok, let me see what has been changed from build 9456632 to build 9536276. Thanks again for the information.
wd...@google.com <wd...@google.com> #13
RE#11
I found the culprit. It's this /etc/resolve.conf
are passed into slirp instances.
In Android Emulator 32.1.11-9536276, the aforementioned CL was not cherry-picked while in emulator 31.3.15-9456632, the CL was merged. Therefore, the "problematic" link local DNS is passed into emulator 31 release but not emulator 32 release.
Solution: make sure the
go...@gmail.com <go...@gmail.com> #15
wd...@google.com <wd...@google.com> #16
RE#15 It seems like this is a different topic if you cannot install android studio on your laptop. Would you like to file a different bug?
Description
Description has been deleted.