Status Update
Comments
sm...@google.com <sm...@google.com> #2
The first CL of this effort has been officially submitted in lifecycle-common
.
sm...@google.com <sm...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit e4a654d863af22d2a4f486b90cf29c26c487cffb
Author: Ivan Matkov <ivan.matkov@jetbrains.com>
Date: Mon Jan 22 11:49:53 2024
Multiplatform support for lifecycle-runtime
This change introduces multiplatform support for the lifecycle-runtime module by exposing the `LifecycleRegistry` to common, ensuring compatibility with published versions on Android.
BUG: 317249252
Relnote: Added multiplatform support for `lifecycle-runtime`
Test: Run existing and newly added tests
Change-Id: I0c5acfde52bd6c4a3cf7f38193c235915b45d549
M lifecycle/lifecycle-runtime/build.gradle
M lifecycle/lifecycle-runtime/src/androidInstrumentedTest/kotlin/androidx/lifecycle/MissingClassTest.kt
M lifecycle/lifecycle-runtime/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewTreeLifecycleOwnerTest.kt
M lifecycle/lifecycle-runtime/src/androidMain/baseline-prof.txt
M lifecycle/lifecycle-runtime/src/androidMain/java/androidx/lifecycle/LifecycleRegistryOwner.java
A lifecycle/lifecycle-runtime/src/androidMain/kotlin/androidx/lifecycle/LifecycleRegistry.android.kt
M lifecycle/lifecycle-runtime/src/androidMain/kotlin/androidx/lifecycle/ReportFragment.android.kt
M lifecycle/lifecycle-runtime/src/androidMain/kotlin/androidx/lifecycle/ViewTreeLifecycleOwner.android.kt
M lifecycle/lifecycle-runtime/src/androidMain/res/values/ids.xml
M lifecycle/lifecycle-runtime/src/androidUnitTest/kotlin/NoPackageObserver.kt
M lifecycle/lifecycle-runtime/src/androidUnitTest/kotlin/NoPackageTest.kt
M lifecycle/lifecycle-runtime/src/androidUnitTest/kotlin/androidx/lifecycle/LifecycleRegistryTest.java
A lifecycle/lifecycle-runtime/src/commonMain/kotlin/androidx/lifecycle/LifecycleRegistry.kt
A lifecycle/lifecycle-runtime/src/commonTest/kotlin/androidx/lifecycle/CommonLifecycleRegistryTest.kt
A lifecycle/lifecycle-runtime/src/commonTest/kotlin/androidx/lifecycle/TestObserver.kt
A lifecycle/lifecycle-runtime/src/desktopMain/kotlin/androidx/lifecycle/LifecycleRegistry.desktop.kt
M lifecycle/lifecycle-runtime/src/jvmMain/kotlin/androidx/lifecycle/LifecycleRegistry.jvm.kt
M lifecycle/lifecycle-runtime/src/nativeMain/kotlin/androidx/lifecycle/LifecycleRegistry.native.kt
A lifecycle/lifecycle-runtime/src/nativeTest/kotlin/androidx/lifecycle/NativeLifecycleRegistryTest.kt
M settings.gradle
https://android-review.googlesource.com/2927699
Branch: androidx-main
commit e4a654d863af22d2a4f486b90cf29c26c487cffb
Author: Ivan Matkov <ivan.matkov@jetbrains.com>
Date: Mon Jan 22 11:49:53 2024
Multiplatform support for lifecycle-runtime
This change introduces multiplatform support for the lifecycle-runtime module by exposing the `LifecycleRegistry` to common, ensuring compatibility with published versions on Android.
BUG: 317249252
Relnote: Added multiplatform support for `lifecycle-runtime`
Test: Run existing and newly added tests
Change-Id: I0c5acfde52bd6c4a3cf7f38193c235915b45d549
M lifecycle/lifecycle-runtime/build.gradle
M lifecycle/lifecycle-runtime/src/androidInstrumentedTest/kotlin/androidx/lifecycle/MissingClassTest.kt
M lifecycle/lifecycle-runtime/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewTreeLifecycleOwnerTest.kt
M lifecycle/lifecycle-runtime/src/androidMain/baseline-prof.txt
M lifecycle/lifecycle-runtime/src/androidMain/java/androidx/lifecycle/LifecycleRegistryOwner.java
A lifecycle/lifecycle-runtime/src/androidMain/kotlin/androidx/lifecycle/LifecycleRegistry.android.kt
M lifecycle/lifecycle-runtime/src/androidMain/kotlin/androidx/lifecycle/ReportFragment.android.kt
M lifecycle/lifecycle-runtime/src/androidMain/kotlin/androidx/lifecycle/ViewTreeLifecycleOwner.android.kt
M lifecycle/lifecycle-runtime/src/androidMain/res/values/ids.xml
M lifecycle/lifecycle-runtime/src/androidUnitTest/kotlin/NoPackageObserver.kt
M lifecycle/lifecycle-runtime/src/androidUnitTest/kotlin/NoPackageTest.kt
M lifecycle/lifecycle-runtime/src/androidUnitTest/kotlin/androidx/lifecycle/LifecycleRegistryTest.java
A lifecycle/lifecycle-runtime/src/commonMain/kotlin/androidx/lifecycle/LifecycleRegistry.kt
A lifecycle/lifecycle-runtime/src/commonTest/kotlin/androidx/lifecycle/CommonLifecycleRegistryTest.kt
A lifecycle/lifecycle-runtime/src/commonTest/kotlin/androidx/lifecycle/TestObserver.kt
A lifecycle/lifecycle-runtime/src/desktopMain/kotlin/androidx/lifecycle/LifecycleRegistry.desktop.kt
M lifecycle/lifecycle-runtime/src/jvmMain/kotlin/androidx/lifecycle/LifecycleRegistry.jvm.kt
M lifecycle/lifecycle-runtime/src/nativeMain/kotlin/androidx/lifecycle/LifecycleRegistry.native.kt
A lifecycle/lifecycle-runtime/src/nativeTest/kotlin/androidx/lifecycle/NativeLifecycleRegistryTest.kt
M settings.gradle
sm...@google.com <sm...@google.com> #4
The second CL of this effort has been officially submitted in aosp/2927699, adding multiplatform support to lifecycle-runtime
.
sm...@google.com <sm...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit 08f40110a0400fa434ed023e763152e6f4aa39af
Author: Ivan Matkov <ivan.matkov@jetbrains.com>
Date: Fri Jan 26 17:06:51 2024
Multiplatform support for lifecycle-runtime-ktx
BUG: 317249252
Relnote: Added multiplatform support for `lifecycle-runtime-ktx`
Test: Run existing tests
Change-Id: If445d68e7e85929839ad10347b31b9f11d61c00d
M lifecycle/lifecycle-runtime-ktx/build.gradle
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/Expectations.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/FakeLifecycleOwner.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/FlowWithLifecycleTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/LaunchWhenTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/PausingDispatcherTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/RepeatOnLifecycleTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/TaskTracker.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/TrackedExecutor.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewTreeLifecycleOwnerTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/WithLifecycleStateTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidMain/AndroidManifest.xml
M lifecycle/lifecycle-runtime-ktx/src/androidMain/kotlin/androidx/lifecycle/View.android.kt
M lifecycle/lifecycle-runtime-ktx/src/commonMain/kotlin/androidx/lifecycle/FlowExt.kt
M lifecycle/lifecycle-runtime-ktx/src/commonMain/kotlin/androidx/lifecycle/RepeatOnLifecycle.kt
M lifecycle/lifecycle-runtime-ktx/src/commonMain/kotlin/androidx/lifecycle/WithLifecycleState.kt
M settings.gradle
https://android-review.googlesource.com/2930012
Branch: androidx-main
commit 08f40110a0400fa434ed023e763152e6f4aa39af
Author: Ivan Matkov <ivan.matkov@jetbrains.com>
Date: Fri Jan 26 17:06:51 2024
Multiplatform support for lifecycle-runtime-ktx
BUG: 317249252
Relnote: Added multiplatform support for `lifecycle-runtime-ktx`
Test: Run existing tests
Change-Id: If445d68e7e85929839ad10347b31b9f11d61c00d
M lifecycle/lifecycle-runtime-ktx/build.gradle
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/Expectations.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/FakeLifecycleOwner.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/FlowWithLifecycleTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/LaunchWhenTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/PausingDispatcherTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/RepeatOnLifecycleTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/TaskTracker.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/TrackedExecutor.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewTreeLifecycleOwnerTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidInstrumentedTest/kotlin/androidx/lifecycle/WithLifecycleStateTest.kt
M lifecycle/lifecycle-runtime-ktx/src/androidMain/AndroidManifest.xml
M lifecycle/lifecycle-runtime-ktx/src/androidMain/kotlin/androidx/lifecycle/View.android.kt
M lifecycle/lifecycle-runtime-ktx/src/commonMain/kotlin/androidx/lifecycle/FlowExt.kt
M lifecycle/lifecycle-runtime-ktx/src/commonMain/kotlin/androidx/lifecycle/RepeatOnLifecycle.kt
M lifecycle/lifecycle-runtime-ktx/src/commonMain/kotlin/androidx/lifecycle/WithLifecycleState.kt
M settings.gradle
sm...@google.com <sm...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit d48a756bfcbc4679bbcf641554f75be5458cad04
Author: Ivan Matkov <ivan.matkov@jetbrains.com>
Date: Mon Mar 04 22:55:59 2024
Align source sets in lifecycle-runtime with JetBrains fork
- Move shared code into `nonJvmMain` (a common source set for native and web targets)
- Use expect/actual for `WeakReference` and `isMainThread`
Bug: 317249252
Test: N/A
Change-Id: If70f6aa691d231674a7e3234a668e4b8184f2d91
M development/build_log_simplifier/messages.ignore
M lifecycle/lifecycle-runtime/build.gradle
M lifecycle/lifecycle-runtime/src/nativeMain/kotlin/androidx/lifecycle/LifecycleRegistry.native.kt
A lifecycle/lifecycle-runtime/src/nativeMain/kotlin/androidx/lifecycle/WeakReference.native.kt
A lifecycle/lifecycle-runtime/src/nonJvmMain/kotlin/androidx/lifecycle/LifecycleRegistry.nonJvm.kt
A lifecycle/lifecycle-runtime/src/nonJvmMain/kotlin/androidx/lifecycle/WeakReference.nonJvm.kt
https://android-review.googlesource.com/2986215
Branch: androidx-main
commit d48a756bfcbc4679bbcf641554f75be5458cad04
Author: Ivan Matkov <ivan.matkov@jetbrains.com>
Date: Mon Mar 04 22:55:59 2024
Align source sets in lifecycle-runtime with JetBrains fork
- Move shared code into `nonJvmMain` (a common source set for native and web targets)
- Use expect/actual for `WeakReference` and `isMainThread`
Bug: 317249252
Test: N/A
Change-Id: If70f6aa691d231674a7e3234a668e4b8184f2d91
M development/build_log_simplifier/messages.ignore
M lifecycle/lifecycle-runtime/build.gradle
M lifecycle/lifecycle-runtime/src/nativeMain/kotlin/androidx/lifecycle/LifecycleRegistry.native.kt
A lifecycle/lifecycle-runtime/src/nativeMain/kotlin/androidx/lifecycle/WeakReference.native.kt
A lifecycle/lifecycle-runtime/src/nonJvmMain/kotlin/androidx/lifecycle/LifecycleRegistry.nonJvm.kt
A lifecycle/lifecycle-runtime/src/nonJvmMain/kotlin/androidx/lifecycle/WeakReference.nonJvm.kt
sm...@google.com <sm...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit 1b02695fac60c198985910d0a4658a3f53027f35
Author: Ivan Matkov <ivan.matkov@jetbrains.com>
Date: Mon Mar 04 22:08:16 2024
Align source sets in lifecycle-common with JetBrains fork
- Move shared code into `nonJvmMain` (a common source set for native and web targets)
Bug: 317249252
Test: N/A
Change-Id: If7e05abc26e53d93f1b853941687602093576cc5
M lifecycle/lifecycle-common/build.gradle
M lifecycle/lifecycle-common/src/nonJvmMain/kotlin/androidx/lifecycle/Lifecycle.nonJvm.kt
M lifecycle/lifecycle-common/src/nonJvmMain/kotlin/androidx/lifecycle/Lifecycling.nonJvm.kt
https://android-review.googlesource.com/2986214
Branch: androidx-main
commit 1b02695fac60c198985910d0a4658a3f53027f35
Author: Ivan Matkov <ivan.matkov@jetbrains.com>
Date: Mon Mar 04 22:08:16 2024
Align source sets in lifecycle-common with JetBrains fork
- Move shared code into `nonJvmMain` (a common source set for native and web targets)
Bug: 317249252
Test: N/A
Change-Id: If7e05abc26e53d93f1b853941687602093576cc5
M lifecycle/lifecycle-common/build.gradle
M lifecycle/lifecycle-common/src/nonJvmMain/kotlin/androidx/lifecycle/Lifecycle.nonJvm.kt
M lifecycle/lifecycle-common/src/nonJvmMain/kotlin/androidx/lifecycle/Lifecycling.nonJvm.kt
Description
I am trying to combine selection library with paging library. Loading items from paging library works ok, but when I try to select item with long click (or with long click and dragging to select more items), the app crash:
java.lang.IllegalStateException: Range start point not set.
at androidx.core.util.Preconditions.checkState(Preconditions.java:131)
at androidx.recyclerview.selection.DefaultSelectionTracker.extendProvisionalRange(DefaultSelectionTracker.java:281)
at androidx.recyclerview.selection.GestureSelectionHelper.extendSelection(GestureSelectionHelper.java:227)
at androidx.recyclerview.selection.GestureSelectionHelper.handleMoveEvent(GestureSelectionHelper.java:204)
at androidx.recyclerview.selection.GestureSelectionHelper.handleTouch(GestureSelectionHelper.java:151)
at androidx.recyclerview.selection.GestureSelectionHelper.onTouchEvent(GestureSelectionHelper.java:125)
at androidx.recyclerview.selection.TouchEventRouter.onTouchEvent(TouchEventRouter.java:103)
at androidx.recyclerview.widget.RecyclerView.dispatchOnItemTouch(RecyclerView.java:2947)
at androidx.recyclerview.widget.RecyclerView.onTouchEvent(RecyclerView.java:3090)
at android.view.View.dispatchTouchEvent(View.java:10013)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2665)
...
When you pre-load some pages with scrolling the RecyclerView, it crash after selecting more items with dragging. See attached videos.
Sample code attached.
Library versions:
RecyclerView: 1.0.0
RecyclerView Selection:1.0.0
Paging: 2.1.0