Fixed
Status Update
Comments
ow...@google.com <ow...@google.com>
ri...@gmail.com <ri...@gmail.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 822b94312ab0e71054dcf8c007d4d8b6ba61db98
Author: Clara Fok <clarafok@google.com>
Date: Wed Dec 06 16:09:13 2023
Refactor PagingDataDiffer PageEvent processing
Streamline the process in preparation for upcoming refactors
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Bug: 315214786
Change-Id: I809a5197633e9d7167388160509bec00566d7417
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagePresenter.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt
https://android-review.googlesource.com/2871509
Branch: androidx-main
commit 822b94312ab0e71054dcf8c007d4d8b6ba61db98
Author: Clara Fok <clarafok@google.com>
Date: Wed Dec 06 16:09:13 2023
Refactor PagingDataDiffer PageEvent processing
Streamline the process in preparation for upcoming refactors
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Bug: 315214786
Change-Id: I809a5197633e9d7167388160509bec00566d7417
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagePresenter.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt
se...@google.com <se...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit fb741839c9be2e2a0a9e023bbba3c0cbac3c9ebb
Author: Clara Fok <clarafok@google.com>
Date: Wed Dec 06 16:22:46 2023
Rename PagePresenter to PageStore
PageStore will be refactored to only process and store loaded data.
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Bug: 315214786
Change-Id: Ic3502d2a541e02355d65cc5154025a0301a50ec5
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PageStore.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageFetcherSnapshotStateTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageStoreTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/ProcessPageEventCallbackCapture.kt
https://android-review.googlesource.com/2871510
Branch: androidx-main
commit fb741839c9be2e2a0a9e023bbba3c0cbac3c9ebb
Author: Clara Fok <clarafok@google.com>
Date: Wed Dec 06 16:22:46 2023
Rename PagePresenter to PageStore
PageStore will be refactored to only process and store loaded data.
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Bug: 315214786
Change-Id: Ic3502d2a541e02355d65cc5154025a0301a50ec5
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PageStore.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataDiffer.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageFetcherSnapshotStateTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageStoreTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/ProcessPageEventCallbackCapture.kt
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 3621927b29ae21d513ea12dc171bf795397b6a0a
Author: Clara Fok <clarafok@google.com>
Date: Fri Dec 08 14:19:41 2023
Rename PagingDataDiffer to PagingDataPresenter
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Test: ./gradlew paging:paging-compose:cC
Bug: 315214786
Change-Id: I9e0c98ef8508c267c2d02ff64a40d698f9f10bb3
M paging/paging-common/src/commonJvmAndroidTest/kotlin/androidx/paging/PageFetcherTest.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PageEvent.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PageStore.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataPresenter.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/ViewportHint.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageEventTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PagingDataDifferTest.kt
M paging/paging-compose/src/commonMain/kotlin/androidx/paging/compose/LazyPagingItems.kt
M paging/paging-guava/src/test/java/androidx/paging/ListenableFuturePagingDataTest.kt
M paging/paging-runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
M paging/paging-rxjava2/src/test/java/androidx/paging/rxjava2/RxPagingDataTest.kt
M paging/paging-rxjava3/src/test/java/androidx/paging/rxjava3/RxPagingDataTest.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/LoadErrorHandler.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/PagerFlowSnapshot.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/SnapshotLoader.kt
M testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/TestPagingDataPresenter.kt
https://android-review.googlesource.com/2871511
Branch: androidx-main
commit 3621927b29ae21d513ea12dc171bf795397b6a0a
Author: Clara Fok <clarafok@google.com>
Date: Fri Dec 08 14:19:41 2023
Rename PagingDataDiffer to PagingDataPresenter
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Test: ./gradlew paging:paging-compose:cC
Bug: 315214786
Change-Id: I9e0c98ef8508c267c2d02ff64a40d698f9f10bb3
M paging/paging-common/src/commonJvmAndroidTest/kotlin/androidx/paging/PageFetcherTest.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PageEvent.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PageStore.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataPresenter.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/ViewportHint.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageEventTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PagingDataDifferTest.kt
M paging/paging-compose/src/commonMain/kotlin/androidx/paging/compose/LazyPagingItems.kt
M paging/paging-guava/src/test/java/androidx/paging/ListenableFuturePagingDataTest.kt
M paging/paging-runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
M paging/paging-rxjava2/src/test/java/androidx/paging/rxjava2/RxPagingDataTest.kt
M paging/paging-rxjava3/src/test/java/androidx/paging/rxjava3/RxPagingDataTest.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/LoadErrorHandler.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/PagerFlowSnapshot.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/SnapshotLoader.kt
M testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/TestPagingDataPresenter.kt
lo...@gmail.com <lo...@gmail.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit c7505aeb858ee828b9cb386f9923b576eb5cd740
Author: Clara Fok <clarafok@google.com>
Date: Tue Dec 12 16:05:24 2023
Refactor event processing for Append and Prepend
First CL to move DifferCallback duties for Append/Prepend PageEvents out of PagingDataPresenter.
AsyncPagingDataDiffer which implements PagingDataPresenter overrides presentPagingDataEvent method to handle PageEvents for Append and Prepend, which includes calculating callback states and invoking RecyclerView's ListUpdateCallback.
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:jvmTest
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:cC
Test: ./gradlew paging:paging-runtime:cC
Test: ./gradlew paging:paging-compose:cC
Bug: 315214786
Change-Id: Ibc544339c04c1426930e355da4ce647d9d7fdeba
M paging/paging-common/src/commonJvmAndroidMain/kotlin/androidx/paging/ContiguousPagedList.jvm.kt
M paging/paging-common/src/commonJvmAndroidMain/kotlin/androidx/paging/PagedList.kt
M paging/paging-common/src/commonJvmAndroidMain/kotlin/androidx/paging/PagedStorage.jvm.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/NullPaddedList.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PageStore.kt
A paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataEvent.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataPresenter.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageFetcherSnapshotStateTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageStoreTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PagingDataPresenterTest.kt
M paging/paging-common/src/jvmTest/kotlin/androidx/paging/ContiguousPagedListTest.kt
M paging/paging-compose/src/commonMain/kotlin/androidx/paging/compose/LazyPagingItems.kt
M paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt
M paging/paging-runtime/src/androidTest/java/androidx/paging/NullPaddedListDiffHelperTest.kt
M paging/paging-runtime/src/androidTest/java/androidx/paging/NullPaddedListDiffWithRecyclerViewTest.kt
M paging/paging-runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
M paging/paging-runtime/src/main/java/androidx/paging/NullPaddedListDiffHelper.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/PagerFlowSnapshot.kt
M testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/TestPagingDataPresenter.kt
https://android-review.googlesource.com/2871512
Branch: androidx-main
commit c7505aeb858ee828b9cb386f9923b576eb5cd740
Author: Clara Fok <clarafok@google.com>
Date: Tue Dec 12 16:05:24 2023
Refactor event processing for Append and Prepend
First CL to move DifferCallback duties for Append/Prepend PageEvents out of PagingDataPresenter.
AsyncPagingDataDiffer which implements PagingDataPresenter overrides presentPagingDataEvent method to handle PageEvents for Append and Prepend, which includes calculating callback states and invoking RecyclerView's ListUpdateCallback.
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:jvmTest
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:cC
Test: ./gradlew paging:paging-runtime:cC
Test: ./gradlew paging:paging-compose:cC
Bug: 315214786
Change-Id: Ibc544339c04c1426930e355da4ce647d9d7fdeba
M paging/paging-common/src/commonJvmAndroidMain/kotlin/androidx/paging/ContiguousPagedList.jvm.kt
M paging/paging-common/src/commonJvmAndroidMain/kotlin/androidx/paging/PagedList.kt
M paging/paging-common/src/commonJvmAndroidMain/kotlin/androidx/paging/PagedStorage.jvm.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/NullPaddedList.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PageStore.kt
A paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataEvent.kt
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataPresenter.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageFetcherSnapshotStateTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PageStoreTest.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PagingDataPresenterTest.kt
M paging/paging-common/src/jvmTest/kotlin/androidx/paging/ContiguousPagedListTest.kt
M paging/paging-compose/src/commonMain/kotlin/androidx/paging/compose/LazyPagingItems.kt
M paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt
M paging/paging-runtime/src/androidTest/java/androidx/paging/NullPaddedListDiffHelperTest.kt
M paging/paging-runtime/src/androidTest/java/androidx/paging/NullPaddedListDiffWithRecyclerViewTest.kt
M paging/paging-runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
M paging/paging-runtime/src/main/java/androidx/paging/NullPaddedListDiffHelper.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/PagerFlowSnapshot.kt
M testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/TestPagingDataPresenter.kt
se...@google.com <se...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 949e051393841ca6c132098efaf6de16c320d7fc
Author: Clara Fok <clarafok@google.com>
Date: Wed Dec 20 13:57:23 2023
Remove transform lastAccessedIndex after refresh
Transform lastAccessedIndex fulfills two roles - trigger prefetch and trigger load if new list is empty.
We still need to trigger new loads if refreshed page is empty, so we will still send an intial hint on empty refresh. However, we can rely on UI accessing items to update lastAccessedIndex. This delays prefetch by a frame but it is preferable over Refreshes requiring UI to return a transformed index.
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Bug: 315214786
Change-Id: I97ffed3e0f63a4551bc1196349157d2c30e8408b
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataPresenter.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PagingDataPresenterTest.kt
M paging/paging-compose/src/commonMain/kotlin/androidx/paging/compose/LazyPagingItems.kt
M paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt
M paging/paging-runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/PagerFlowSnapshot.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/SnapshotLoader.kt
M paging/paging-testing/src/commonTest/kotlin/androidx/paging/testing/PagerFlowSnapshotTest.kt
M testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/TestPagingDataPresenter.kt
https://android-review.googlesource.com/2886314
Branch: androidx-main
commit 949e051393841ca6c132098efaf6de16c320d7fc
Author: Clara Fok <clarafok@google.com>
Date: Wed Dec 20 13:57:23 2023
Remove transform lastAccessedIndex after refresh
Transform lastAccessedIndex fulfills two roles - trigger prefetch and trigger load if new list is empty.
We still need to trigger new loads if refreshed page is empty, so we will still send an intial hint on empty refresh. However, we can rely on UI accessing items to update lastAccessedIndex. This delays prefetch by a frame but it is preferable over Refreshes requiring UI to return a transformed index.
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew paging:paging-common:allTest
Bug: 315214786
Change-Id: I97ffed3e0f63a4551bc1196349157d2c30e8408b
M paging/paging-common/src/commonMain/kotlin/androidx/paging/PagingDataPresenter.kt
M paging/paging-common/src/commonTest/kotlin/androidx/paging/PagingDataPresenterTest.kt
M paging/paging-compose/src/commonMain/kotlin/androidx/paging/compose/LazyPagingItems.kt
M paging/paging-runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt
M paging/paging-runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/PagerFlowSnapshot.kt
M paging/paging-testing/src/commonMain/kotlin/androidx/paging/testing/SnapshotLoader.kt
M paging/paging-testing/src/commonTest/kotlin/androidx/paging/testing/PagerFlowSnapshotTest.kt
M testutils/testutils-paging/src/commonMain/kotlin/androidx/paging/TestPagingDataPresenter.kt
Description
Artifact used: androidx.core:core:1.6.0 Version used: 1.6.0 Theme used: (Not related) Devices/Android versions reproduced on: Pixel 5 Android 11
This part will make the final Typeface lost the correct font-weight from the FontInfo. For example, request for a font with 500 weight, but the final Typeface has 400 weight. This will make the fallback font incorrectly displayed.
The fix is to use the style from the best-matched font, just like the platform,https://cs.android.com/android/platform/superproject/+/android-11.0.0_r1:frameworks/base/graphics/java/android/graphics/Typeface.java;l=276-285 .