Fixed
Status Update
Comments
kl...@google.com <kl...@google.com>
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 8b25618d9383e06e9af0c47abb6ff881ae02bc16
Author: Zach Klippenstein <klippenstein@google.com>
Date: Wed Feb 21 15:16:21 2024
Part 1 of Compose long screenshots support.
This implements the core functionality behind an opt-in feature flag.
It does not support sticky headers in LazyColumns.
go/compose-long-screenshots
Bug: b/329296471
Test: ScrollTest
Test: ScrollCaptureTest
Test: ScrollCaptureIntegrationTest
Relnote: "Implemented experimental support for long screenshots in Compose
scroll containers using the official Android API
(`ScrollCaptureCallback`). This feature is experimental and may not
currently handle all cases correctly. For that reason it is currently
disabled by default. To opt-in, set the
`ComposeFeatureFlag_LongScreenshotsEnabled` flag to true."
Change-Id: I2b0552d34c530b127d64ac58f48a0fa399b3edde
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/FoundationDemos.kt
A compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ScrollingScreenshotDemo.kt
M compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/ScrollTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Scroll.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyLayoutSemanticState.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazySemantics.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutSemantics.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridSemantics.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/LazyLayoutSemanticState.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/restricted_current.txt
A compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureDrawTest.kt
A compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureIntegrationTest.kt
A compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureTest.kt
A compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureTester.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/scrollcapture/ComposeScrollCaptureCallback.android.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/scrollcapture/ScrollCapture.android.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsProperties.kt
https://android-review.googlesource.com/2998124
Branch: androidx-main
commit 8b25618d9383e06e9af0c47abb6ff881ae02bc16
Author: Zach Klippenstein <klippenstein@google.com>
Date: Wed Feb 21 15:16:21 2024
Part 1 of Compose long screenshots support.
This implements the core functionality behind an opt-in feature flag.
It does not support sticky headers in LazyColumns.
go/compose-long-screenshots
Bug:
Test: ScrollTest
Test: ScrollCaptureTest
Test: ScrollCaptureIntegrationTest
Relnote: "Implemented experimental support for long screenshots in Compose
scroll containers using the official Android API
(`ScrollCaptureCallback`). This feature is experimental and may not
currently handle all cases correctly. For that reason it is currently
disabled by default. To opt-in, set the
`ComposeFeatureFlag_LongScreenshotsEnabled` flag to true."
Change-Id: I2b0552d34c530b127d64ac58f48a0fa399b3edde
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/FoundationDemos.kt
A compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ScrollingScreenshotDemo.kt
M compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/ScrollTest.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Scroll.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazyLayoutSemanticState.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/grid/LazySemantics.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/layout/LazyLayoutSemantics.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/staggeredgrid/LazyStaggeredGridSemantics.kt
M compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/pager/LazyLayoutSemanticState.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/restricted_current.txt
A compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureDrawTest.kt
A compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureIntegrationTest.kt
A compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureTest.kt
A compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureTester.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/scrollcapture/ComposeScrollCaptureCallback.android.kt
A compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/scrollcapture/ScrollCapture.android.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/semantics/SemanticsProperties.kt
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 949c9431ad6e9fd131fa650ce02bc45dad72d76a
Author: Zach Klippenstein <klippenstein@google.com>
Date: Fri Mar 22 09:09:36 2024
Improve scroll capture performance.
I disabled scroll animations during the capture session, but forgot to
disable them when resetting the scroll position after the session
finishes. This change fixes that by adding the context element that
disables coroutines to the scope used for all ScrollCaptureCallback
coroutines.
Bug: b/329296471
Test: covered by existing tests
Change-Id: I12d5aae9ac3d28ce89a642e9ca3b888653ef2140
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/scrollcapture/ComposeScrollCaptureCallback.android.kt
https://android-review.googlesource.com/3006990
Branch: androidx-main
commit 949c9431ad6e9fd131fa650ce02bc45dad72d76a
Author: Zach Klippenstein <klippenstein@google.com>
Date: Fri Mar 22 09:09:36 2024
Improve scroll capture performance.
I disabled scroll animations during the capture session, but forgot to
disable them when resetting the scroll position after the session
finishes. This change fixes that by adding the context element that
disables coroutines to the scope used for all ScrollCaptureCallback
coroutines.
Bug:
Test: covered by existing tests
Change-Id: I12d5aae9ac3d28ce89a642e9ca3b888653ef2140
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/scrollcapture/ComposeScrollCaptureCallback.android.kt
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 64bc4a31c11f7cf3f72c574b4ab7a6bb68e74ce1
Author: Zach Klippenstein <klippenstein@google.com>
Date: Fri Mar 22 15:56:43 2024
Add more integration tests for scroll capture with various high-level components.
Text fields use Modifier.scrollable directly, so don't get any of the
scrolling semantics published for free.
Bug: b/329296471
Test: ScrollCaptureIntegrationTest
Change-Id: I65280593e8a7aca9dcfab877d63c327a66964338
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/FoundationDemos.kt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/LongScreenshotsDemos.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureIntegrationTest.kt
https://android-review.googlesource.com/3010754
Branch: androidx-main
commit 64bc4a31c11f7cf3f72c574b4ab7a6bb68e74ce1
Author: Zach Klippenstein <klippenstein@google.com>
Date: Fri Mar 22 15:56:43 2024
Add more integration tests for scroll capture with various high-level components.
Text fields use Modifier.scrollable directly, so don't get any of the
scrolling semantics published for free.
Bug:
Test: ScrollCaptureIntegrationTest
Change-Id: I65280593e8a7aca9dcfab877d63c327a66964338
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/FoundationDemos.kt
M compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/LongScreenshotsDemos.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureIntegrationTest.kt
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit ac7fca808a11fe51074316bbf84216d372a3cfb8
Author: Zach Klippenstein <klippenstein@google.com>
Date: Fri Mar 22 09:47:06 2024
Add more long screenshots tests.
Also refactors the ScrollCaptureTester to allow tests to more precisely
control capture frame-by-frame.
Bug: b/329296471
Test: ScrollCaptureDrawTest
Test: ScrollCaptureIntegrationTest
Test: ScrollCaptureTest
Change-Id: I12079f3d2115d404c156c192dc48f00259cfa14b
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureDrawTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureIntegrationTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureTester.kt
A compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollExpecter.kt
https://android-review.googlesource.com/3018065
Branch: androidx-main
commit ac7fca808a11fe51074316bbf84216d372a3cfb8
Author: Zach Klippenstein <klippenstein@google.com>
Date: Fri Mar 22 09:47:06 2024
Add more long screenshots tests.
Also refactors the ScrollCaptureTester to allow tests to more precisely
control capture frame-by-frame.
Bug:
Test: ScrollCaptureDrawTest
Test: ScrollCaptureIntegrationTest
Test: ScrollCaptureTest
Change-Id: I12079f3d2115d404c156c192dc48f00259cfa14b
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureDrawTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureIntegrationTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureTest.kt
M compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollCaptureTester.kt
A compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/scrollcapture/ScrollExpecter.kt
kl...@google.com <kl...@google.com>
na...@google.com <na...@google.com> #6
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.ui:ui:1.7.0-alpha07
androidx.compose.ui:ui-android:1.7.0-alpha07
androidx.compose.ui:ui-desktop:1.7.0-alpha07
Description
Design doc: go/compose-long-screenshots