Fixed
Status Update
Comments
ga...@gmail.com <ga...@gmail.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit fb1c82582399043b149eb2630f524c75de9c88dc
Author: Jelle Fresen <jellefresen@google.com>
Date: Thu Aug 15 11:34:36 2019
Disallow intercept, touch slop and canScroll in nestedPreScroll
* Disallow intercept (requestDisallowInterceptTouchEvent(true))
When scroll delta is consumed by dispatchNestedPreScroll, the parent
should be requested not to intercept subsequent touch events, just as
when scroll is consumed by the widget itself or dispatchNestedScroll.
* Touch slop
NestedScrollingChild implementations should only call
dispatchNestedPreScroll after the delta x/y has exceeded the touch slop.
* canScroll (canScrollHorizontally/canScrollVertically)
The dx/dy values passed to dispatchNestedPreScroll should be zero if the
child can't scroll in that direction.
Fixed in:
- RecyclerView
- NestedScrollView
Bug: 138668210
Bug: 139530818
Test: ./gradlew connectedCheck
Change-Id: I85b327ad096fbbd204adb92f630770ec7fad5990
M core/core/src/androidTest/java/androidx/core/widget/NestedScrollViewNestedScrollingChildTest.java
M core/core/src/main/java/androidx/core/widget/NestedScrollView.java
M recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewNestedScrolling3RequestDisallowInterceptTouchTest.java
M recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewNestedScrollingChildTest.java
M recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/RecyclerView.java
https://android-review.googlesource.com/1105373
https://goto.google.com/android-sha1/fb1c82582399043b149eb2630f524c75de9c88dc
Branch: androidx-master-dev
commit fb1c82582399043b149eb2630f524c75de9c88dc
Author: Jelle Fresen <jellefresen@google.com>
Date: Thu Aug 15 11:34:36 2019
Disallow intercept, touch slop and canScroll in nestedPreScroll
* Disallow intercept (requestDisallowInterceptTouchEvent(true))
When scroll delta is consumed by dispatchNestedPreScroll, the parent
should be requested not to intercept subsequent touch events, just as
when scroll is consumed by the widget itself or dispatchNestedScroll.
* Touch slop
NestedScrollingChild implementations should only call
dispatchNestedPreScroll after the delta x/y has exceeded the touch slop.
* canScroll (canScrollHorizontally/canScrollVertically)
The dx/dy values passed to dispatchNestedPreScroll should be zero if the
child can't scroll in that direction.
Fixed in:
- RecyclerView
- NestedScrollView
Bug: 138668210
Bug: 139530818
Test: ./gradlew connectedCheck
Change-Id: I85b327ad096fbbd204adb92f630770ec7fad5990
M core/core/src/androidTest/java/androidx/core/widget/NestedScrollViewNestedScrollingChildTest.java
M core/core/src/main/java/androidx/core/widget/NestedScrollView.java
M recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewNestedScrolling3RequestDisallowInterceptTouchTest.java
M recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/RecyclerViewNestedScrollingChildTest.java
M recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/RecyclerView.java
jb...@google.com <jb...@google.com>
ga...@freeletics.com <ga...@freeletics.com> #3
The bug also affects compose and is actually a lot worse there since the LocalLifecycleOwner
is the one of the NavBackStackEntry
, so anything that is tied to the lifecycle will not work at all.
cl...@google.com <cl...@google.com> #4
Re: STARTED
. It has been fixed.
Re:
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit 34427f031ebd1b5e3336137c89f532f004aa71f9
Author: Clara Fok <clarafok@google.com>
Date: Wed Aug 30 14:17:10 2023
Fix DialogFragment not marked transition complete
When navigating to new DialogFragment, the current open DialogFragment (outoing entry) is marked as transitioning. Likewise, when popping a DialogFragment, the incoming entry is marked as transitioning. However in both cases, the entry is not marked complete after navigation/pop. In the second case, it prevents the incoming entry from moving to RESUMED state.
Now we ensure to remove the entries from its transient transitioning state so it can move to proper lifecycle state.
Test: ./gradlew navigation:navigation-fragment:cC
Bug: 287505132
Change-Id: I3b866a44291e7bd7af742562ae0619cd83929a1a
M navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/DialogFragmentNavigatorTest.kt
M navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/DialogFragmentNavigator.kt
https://android-review.googlesource.com/2734817
Branch: androidx-main
commit 34427f031ebd1b5e3336137c89f532f004aa71f9
Author: Clara Fok <clarafok@google.com>
Date: Wed Aug 30 14:17:10 2023
Fix DialogFragment not marked transition complete
When navigating to new DialogFragment, the current open DialogFragment (outoing entry) is marked as transitioning. Likewise, when popping a DialogFragment, the incoming entry is marked as transitioning. However in both cases, the entry is not marked complete after navigation/pop. In the second case, it prevents the incoming entry from moving to RESUMED state.
Now we ensure to remove the entries from its transient transitioning state so it can move to proper lifecycle state.
Test: ./gradlew navigation:navigation-fragment:cC
Bug: 287505132
Change-Id: I3b866a44291e7bd7af742562ae0619cd83929a1a
M navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/DialogFragmentNavigatorTest.kt
M navigation/navigation-fragment/src/main/java/androidx/navigation/fragment/DialogFragmentNavigator.kt
cl...@google.com <cl...@google.com> #6
Fixed internally and will be available in navigation 2.7.3
na...@google.com <na...@google.com> #7
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.navigation:navigation-fragment:2.7.3
na...@google.com <na...@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.8.0-alpha01
Description
Version used: 2.6.0
Devices/Android versions reproduced on: Emulator Android 13
Very simple scenario for demo purposes:
1. MainFragment navigates to Dialog1Fragment
2. Dialog1Fragment navigates to Dialog2Fragment
3. Dialog2Fragment navigates back
This will result in the lifecycle of Dialog1Fragment's NavBackStackEntry to go back into `ON_START` but it will never go back to `ON_RESUME` even though it is now the top destination on the stack.
I've attached a small sample project with these 3 fragments