Fixed
Status Update
Comments
si...@google.com <si...@google.com>
se...@google.com <se...@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
se...@google.com <se...@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
se...@google.com <se...@google.com> #4
Figured out bug:
- The
modifier = Modifier.fillMaxSize()
causes the size change from changing typeface to not trigger redraw - This exposes a bug where changing the layout in BasicText doesn't trigger redraw.
Fix incoming.
b9...@gmail.com <b9...@gmail.com> #5
Thanks for quick debug!
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 9cedb659c54d88390e88ff3677446dea1624110d
Author: Sean McQuillan <seanmcq@google.com>
Date: Thu Apr 28 16:47:12 2022
Ensure that text layout changes invalidate draw
Previous behavior: Text layout changes could display a stale render if
text layout is modified after the first draw without resizing either the
Text or TextField.
New behavior: Text layout changes will always restart draw.
This was especially visible when layout changes were triggered by
downloadable fonts. In a situation where size did not change during font
load, the text would not redraw until the next event that invalidated
the draw.
Bug: b/229727404
Test: # manual & demo
Test: ./gradlew :compose:found:found:cAT :compose:found:found:test
Relnote: "Downloadable font resolution that does not change the layout
size of Text or TextField previously would not redraw, leading to stale
font display. This bugfix ensures that text layout always triggers
redraw ( b/229727404 )."
Change-Id: I1d49e9b977c234c9bc0317def7918d7821b321eb
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FontFamilyDemo.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
A compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextStateTest.kt
A compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextControllerTest.kt
A compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldStateTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreText.kt
https://android-review.googlesource.com/2080780
Branch: androidx-main
commit 9cedb659c54d88390e88ff3677446dea1624110d
Author: Sean McQuillan <seanmcq@google.com>
Date: Thu Apr 28 16:47:12 2022
Ensure that text layout changes invalidate draw
Previous behavior: Text layout changes could display a stale render if
text layout is modified after the first draw without resizing either the
Text or TextField.
New behavior: Text layout changes will always restart draw.
This was especially visible when layout changes were triggered by
downloadable fonts. In a situation where size did not change during font
load, the text would not redraw until the next event that invalidated
the draw.
Bug:
Test: # manual & demo
Test: ./gradlew :compose:found:found:cAT :compose:found:found:test
Relnote: "Downloadable font resolution that does not change the layout
size of Text or TextField previously would not redraw, leading to stale
font display. This bugfix ensures that text layout always triggers
redraw (
Change-Id: I1d49e9b977c234c9bc0317def7918d7821b321eb
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FontFamilyDemo.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
A compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextStateTest.kt
A compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextControllerTest.kt
A compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldStateTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreText.kt
se...@google.com <se...@google.com>
se...@google.com <se...@google.com>
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit ec61b87882c98346c9dfcb5ff714546a66363b22
Author: Sean McQuillan <seanmcq@google.com>
Date: Thu Jun 02 18:35:57 2022
Revert "Revert "Ensure that text layout changes invalidate draw""
This reverts commit a80e6400dd5e0aab4ab6a1936c9d96223c68c86f.
Reason for revert: Applying fine grained state reads for Text
Instead of making layoutResult state, limit restarts to just drawScope
Test: ./gradlew :compose:foundation:foundation:cAT
Test: integration demo
Bug: b/229727404
Bug: b/231492643
Change-Id: Ia78b31307e9b7bc05685cee17470f5bb9cae0341
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FontFamilyDemo.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
A compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextStateTest.kt
A compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextControllerTest.kt
A compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldStateTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreText.kt
https://android-review.googlesource.com/2115537
Branch: androidx-main
commit ec61b87882c98346c9dfcb5ff714546a66363b22
Author: Sean McQuillan <seanmcq@google.com>
Date: Thu Jun 02 18:35:57 2022
Revert "Revert "Ensure that text layout changes invalidate draw""
This reverts commit a80e6400dd5e0aab4ab6a1936c9d96223c68c86f.
Reason for revert: Applying fine grained state reads for Text
Instead of making layoutResult state, limit restarts to just drawScope
Test: ./gradlew :compose:foundation:foundation:cAT
Test: integration demo
Bug:
Bug:
Change-Id: Ia78b31307e9b7bc05685cee17470f5bb9cae0341
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/FontFamilyDemo.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreTextField.kt
A compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextStateTest.kt
A compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/text/TextControllerTest.kt
A compose/foundation/foundation/src/test/kotlin/androidx/compose/foundation/text/TextFieldStateTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/CoreText.kt
Description
Using emulator & real device are the same. I have to press home and re-open app to make the downloaded fonts working.