Status Update
Comments
il...@google.com <il...@google.com>
il...@google.com <il...@google.com>
il...@google.com <il...@google.com> #2
First of all thanks for this detailed issue.
This issue had been investigated thoroughly when it was first reported internally. The surprising detail in this report is that the issue is not reproducible before 1.7
. I will look into this.
The main problem with POBox is the fact that it is deprecated. Since 2021 Sony has been shipping new Xperia devices with Gboard pre-installed. Although we are aware that there is still a considerable amount of users still using POBox, the described behavior is caused by POBox's noncompliant behavior with InputConnection
and InputMethodManager
documentation. However, this is understandable since TextView
implementation was also not respecting the behavior that is expected from Editors.
Ultimately we have decided to enforce the documented behavior with specifically regards to when editors should call InputMethodManager.updateSelection
. Also, although unconfirmed, there were traces of possible custom code being included in Sony OEM images that changed how InputMethodManager was notified from TextView. If POBox also depended on something like this, it would be impossible for Compose code to replicate the same unknown behavior.
ma...@gmail.com <ma...@gmail.com> #3
Or is that option not available?
Even if the root cause is POBox, from the perspective of the app's customers, it looks like an app bug, so this issue is a blocker against updating Jetpack Compose.
Description
Version used: 1.0.0-alpha09
Devices/Android versions reproduced on: Nexus 5X
Sample: attached
Screen recording: attached
As you can see in the attached sample, I have a simple application with one Activity that has a NavHostFragment and a BottomNavigationView. The navigation graph contains 3 fragment destinations(fragments A, B and C) which are also the menu items for the BottomNavigationView. Fragment C has a drawer layout that contains another NavHostFragment and a NavigationView. This inner NavHostFragment has its own navigation graph with another 3 fragments: D(start destination), E, and F.
Steps to reproduce:
1) Open app
2) Open Fragment C which implicitly opens Fragment D(start destination for that NavHostFragment)
3) From the drawer open Fragment E
4) Click on Fragment B from BottomNavigationView
5) Press back
Observe that Fragment D is opened and that the Fragment B is still the selected item from the BottomNavigationView.
My expected behavior is that the inner NavHostFragment stack is cleared by step 4 and the back button will navigate the user to the start destination of the outer NavHostFragment(Fragment A).
Strange behavior can also be observed if you click on A or C destinations at step 4.
I'm looking forward to your reply.
Thanks!