Fixed
Status Update
Comments
mn...@google.com <mn...@google.com>
jo...@google.com <jo...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
Author: Louis Pullen-Freilich <
Link:
Adds OverscrollEffect#withoutDrawing and OverscrollEffect#withoutEventHandling
Expand for full commit details
Adds OverscrollEffect#withoutDrawing and OverscrollEffect#withoutEventHandling
These APIs allow overscroll to have events dispatched to it by one component, and rendered in a separate component.
Fixes: b/266550551
Fixes: b/204650733
Fixes: b/255554340
Fixes: b/229537244
Test: OverscrollTest
Relnote: "Adds OverscrollEffect#withoutDrawing and OverscrollEffect#withoutEventHandling APIs - these APIs create a wrapped instance of the provided overscroll effect that doesn't draw / handle events respectively, which allows for rendering overscroll in a separate component from the component that is dispatching events. For example, disabling drawing the overscroll inside a lazy list, and then drawing the overscroll separately on top / elsewhere."
Change-Id: Idbb3d91546b49c1987a041f959bce4b2b09a9f61
Files:
- M
compose/foundation/foundation/api/current.txt
- M
compose/foundation/foundation/api/restricted_current.txt
- M
compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/OverscrollDemo.kt
- M
compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/OverscrollSample.kt
- M
compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/OverscrollTest.kt
- M
compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Overscroll.kt
Hash: f64e25b7a473c757d080521e7dd97b3f6670f60d
Date: Fri Nov 01 18:43:56 2024
el...@reaktor.com <el...@reaktor.com> #3
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.foundation:foundation:1.8.0-alpha06
androidx.compose.foundation:foundation-android:1.8.0-alpha06
androidx.compose.foundation:foundation-jvmstubs:1.8.0-alpha06
androidx.compose.foundation:foundation-linuxx64stubs:1.8.0-alpha06
ma...@google.com <ma...@google.com> #4
Ralston, do you think this makes sense to open some of those APIs as public?
ra...@google.com <ra...@google.com> #5
Yes, I think we should make these public.
kl...@google.com <kl...@google.com>
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit fb81f91b02c044675683c5f1c0b014eb820c84e8
Author: Zach Klippenstein <klippenstein@google.com>
Date: Wed Feb 07 09:42:10 2024
Introduce DelegatableNode.scrollIntoView()
Note the new name: "scroll" instead of "bring". Will rename the other
public APIs in a separate change.
Fixes: b/299939840
Relnote: "Introduced `DelegatableNode.scrollIntoView()` to allow modifier
nodes to make `scrollIntoView` requests directly."
Test: Existing BringIntoView tests cover all this functionality.
Change-Id: I2b3b7b59a4906f213ae161c531d5af667b4049c7
M compose/foundation/foundation/api/current.txt
M compose/foundation/foundation/api/restricted_current.txt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.android.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Focusable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoView.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewRequester.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.kt
A compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/ScrollIntoViewRequester.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.desktop.kt
https://android-review.googlesource.com/2928741
Branch: androidx-main
commit fb81f91b02c044675683c5f1c0b014eb820c84e8
Author: Zach Klippenstein <klippenstein@google.com>
Date: Wed Feb 07 09:42:10 2024
Introduce DelegatableNode.scrollIntoView()
Note the new name: "scroll" instead of "bring". Will rename the other
public APIs in a separate change.
Fixes:
Relnote: "Introduced `DelegatableNode.scrollIntoView()` to allow modifier
nodes to make `scrollIntoView` requests directly."
Test: Existing BringIntoView tests cover all this functionality.
Change-Id: I2b3b7b59a4906f213ae161c531d5af667b4049c7
M compose/foundation/foundation/api/current.txt
M compose/foundation/foundation/api/restricted_current.txt
M compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.android.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Focusable.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoView.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewRequester.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.kt
A compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/relocation/ScrollIntoViewRequester.kt
M compose/foundation/foundation/src/desktopMain/kotlin/androidx/compose/foundation/relocation/BringIntoViewResponder.desktop.kt
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.compose.foundation:foundation:1.7.0-alpha04
androidx.compose.foundation:foundation-android:1.7.0-alpha04
androidx.compose.foundation:foundation-desktop:1.7.0-alpha04
Description
Jetpack Compose component(s) used: `BringIntoViewRequesterNode`, `BringIntoViewResponderNode`, `Modifier.Node`
Android Studio Build: [unapplicable]
Kotlin version: [unapplicable]
----
`BringIntoViewRequesterNode` and `BringIntoViewResponderNode` (and their interfaces) are marked as `internal` in foundation, making them impossible to use in custom `Modifier.Node` implementations.