Status Update
Comments
ys...@google.com <ys...@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
ys...@google.com <ys...@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
ys...@google.com <ys...@google.com> #4
Reopening because this prints "true false"
val showPlaceholder by remember(item) { derivedStateOf { item != null } }
val chipPlaceholderState = rememberPlaceholderState { showPlaceholder }
Text("$showPlaceholder ${chipPlaceholderState.isShowContent}")
I suspect rememberPlaceholderState should have keys provided to it.
ys...@google.com <ys...@google.com> #5
Also the preview samples are correctly using mutableStateOf for updating the item, so should be working.
ys...@google.com <ys...@google.com> #6
From
When remembering a lambda, pass any captured variables as keys to remember so that the lambda will be recreated if those variables change.
jn...@google.com <jn...@google.com>
ys...@google.com <ys...@google.com> #7
Internally it has been commented that the right fix is probably for the existing rememberPlaceholderState to use rememberUpdatedState for the lambda.
ap...@google.com <ap...@google.com> #8
Branch: androidx-main
commit a08d3c02b5babbf8587bb1498009b6f64e624e81
Author: John Nichol <jnichol@google.com>
Date: Fri Dec 02 12:12:33 2022
Update PlaceholderState to ensure that the state is updated if the onContentReady() lambda changes.
Update PlaceholderState to take a State<() -> Boolean> for the isContentReady lambda and update rememberPlaceholderState so that the lambda is wrapped in rememberUpdatedState so that the state will be updated if the lambda changes.
Bug: 260343754
Test: ./gradlew :wear:compose:compose-material:connectedCheck --info --daemon
Relnote: "PlaceholderState.rememberPlaceholderState() updated to use rememberUpdatedState to that the state will update if the onContentReady lambda."
Change-Id: I02635c21c723a91aa2f5915fe79468a463fd1698
M wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialTest.kt
M wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/PlaceholderTest.kt
M wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ScalingLazyListLayoutInfoTest.kt
M wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/Placeholder.kt
M wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PlaceholderDemo.kt
jn...@google.com <jn...@google.com>
na...@google.com <na...@google.com> #9
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.wear.compose:compose-material:1.2.0-alpha02
androidx.wear.compose:compose-material:1.1.1
na...@google.com <na...@google.com> #10
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.wear.compose:compose-material:1.4.0-rc01
Description
Version used: 1.1.0-rc01
Devices/Android versions reproduced on: Emulator / Android Studio Previews
Repro
Expected placeholder and content states
Actual final content state