Fixed
Status Update
Comments
as...@google.com <as...@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
sh...@google.com <sh...@google.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
jo...@google.com <jo...@google.com> #4
This requires some deeper considerations w.r.t. how AnchoredDraggable works, specifically if we want to update currentValue
mid-drag. We will investigate this, but it is not a priority at the moment. Thank you for your patience!
jo...@google.com <jo...@google.com>
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit ea1c7b82abfbd75b1396b1113852253e7b7dc444
Author: Jossi Wolf <jossiwolf@google.com>
Date: Sun Jan 28 12:29:03 2024
Changes AnchoredDraggable to operate based on small sliding window
Previously, AnchoredDraggable would operate based on `currentValue`, which could be several anchor points away from the current position of the offset. This made exposing APIs reflecting offset fractions tricky. The new behavior is aligned with Pager and subsequently allows us to expose a `currentValueOffsetFraction`.
Relnote: AnchoredDraggable's currentValue will now update when passing through an anchor point. Use settledValue to receive the previous currentValue semantics, only updating when settling at an anchor. The progress is now exposed as a function (requiring a starting and end point) instead of a property.
Test: Existing & refactored tests
Bug: 318707189, 298271489, 294991954
Change-Id: Ibe6e88f172b099e8f1f841722946471e4641f999
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/AnchoredDraggableDemo.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/AnchoredDraggableSample.kt
M compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableGestureTest.kt
M compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableStateTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/AnchoredDraggable.kt
https://android-review.googlesource.com/2930845
Branch: androidx-main
commit ea1c7b82abfbd75b1396b1113852253e7b7dc444
Author: Jossi Wolf <jossiwolf@google.com>
Date: Sun Jan 28 12:29:03 2024
Changes AnchoredDraggable to operate based on small sliding window
Previously, AnchoredDraggable would operate based on `currentValue`, which could be several anchor points away from the current position of the offset. This made exposing APIs reflecting offset fractions tricky. The new behavior is aligned with Pager and subsequently allows us to expose a `currentValueOffsetFraction`.
Relnote: AnchoredDraggable's currentValue will now update when passing through an anchor point. Use settledValue to receive the previous currentValue semantics, only updating when settling at an anchor. The progress is now exposed as a function (requiring a starting and end point) instead of a property.
Test: Existing & refactored tests
Bug: 318707189, 298271489, 294991954
Change-Id: Ibe6e88f172b099e8f1f841722946471e4641f999
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/AnchoredDraggableDemo.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/AnchoredDraggableSample.kt
M compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableGestureTest.kt
M compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableStateTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/AnchoredDraggable.kt
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 5c108158e6cf2e03dcd4523e9fcf4230514e8a58
Author: Jossi Wolf <jossiwolf@google.com>
Date: Tue Mar 05 17:34:38 2024
Revert "Revert "Changes AnchoredDraggable to operate based on sm..."
Revert submission 2988649-revert-2930845-DMIZVAQUBO
Reason for revert: Re-landing since this doesn't include the API changes
Reverted changes: /q/submissionid:2988649-revert-2930845-DMIZVAQUBO
Relnote: AnchoredDraggable's currentValue will now update when passing through an anchor point. Use settledValue to receive the previous currentValue semantics, only updating when settling at an anchor. The progress is now exposed as a function (requiring a starting and end point) instead of a property.
Test: Existing & refactored tests
Bug: 318707189, 298271489, 294991954
Change-Id: I2ebd3677fd98f0d14f5d365a901cd1b36b0ce9e2
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/AnchoredDraggableDemo.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/AnchoredDraggableSample.kt
M compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableGestureTest.kt
M compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableStateTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/AnchoredDraggable.kt
https://android-review.googlesource.com/2989470
Branch: androidx-main
commit 5c108158e6cf2e03dcd4523e9fcf4230514e8a58
Author: Jossi Wolf <jossiwolf@google.com>
Date: Tue Mar 05 17:34:38 2024
Revert "Revert "Changes AnchoredDraggable to operate based on sm..."
Revert submission 2988649-revert-2930845-DMIZVAQUBO
Reason for revert: Re-landing since this doesn't include the API changes
Reverted changes: /q/submissionid:2988649-revert-2930845-DMIZVAQUBO
Relnote: AnchoredDraggable's currentValue will now update when passing through an anchor point. Use settledValue to receive the previous currentValue semantics, only updating when settling at an anchor. The progress is now exposed as a function (requiring a starting and end point) instead of a property.
Test: Existing & refactored tests
Bug: 318707189, 298271489, 294991954
Change-Id: I2ebd3677fd98f0d14f5d365a901cd1b36b0ce9e2
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/AnchoredDraggableDemo.kt
M compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/AnchoredDraggableSample.kt
M compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableGestureTest.kt
M compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/anchoredDraggable/AnchoredDraggableStateTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/gestures/AnchoredDraggable.kt
Description
Jetpack Compose version: 1.6.0-beta03 Jetpack Compose component used: AnchoredDraggable
Steps to Reproduce:
{ it * 0.8f }
and space the anchors evenly, or set it to{ it * 0.5f }
and space the first two anchors relatively closeIf this is intended, I personally find it unintuitive and there should at least be an option to change the behavior.