Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 32e15d7e6a58276987c27730dcc01ecfb950d2db
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Mar 28 11:07:46 2024
Convert `lifecycle-runtime-compose` to multiplatform
* Only platforms supported by Compose in the AndroidX repository will be supported by `lifecycle-runtime-compose` (`android`, `desktop`).
* That is equivalent to what has been done with other artifacts, such as `lifecycle-viewmodel-compose`.
* Credits to Jake Wharton for the original contribution, his CL can be found at aosp/3002225
Test: `gw -p lifecycle bOS`
RelNote: "Added multiplatform support for `lifecycle-runtime-compose`."
Bug: 331769623
Change-Id: I4f4a03613120f3222bd44ae1feab1a085ddb38da
M docs-tip-of-tree/build.gradle
M lifecycle/lifecycle-runtime-compose/build.gradle
M lifecycle/lifecycle-runtime-compose/src/androidInstrumentedTest/kotlin/androidx/lifecycle/compose/CollectAsStateWithLifecycleTests.kt
M lifecycle/lifecycle-runtime-compose/src/androidInstrumentedTest/kotlin/androidx/lifecycle/compose/DropUnlessLifecycleTest.kt
M lifecycle/lifecycle-runtime-compose/src/androidInstrumentedTest/kotlin/androidx/lifecycle/compose/LifecycleEffectTest.kt
M lifecycle/lifecycle-runtime-compose/src/androidInstrumentedTest/kotlin/androidx/lifecycle/compose/LifecycleExtTest.kt
M lifecycle/lifecycle-runtime-compose/src/commonMain/kotlin/androidx/lifecycle/compose/DropUnlessLifecycle.kt
M lifecycle/lifecycle-runtime-compose/src/commonMain/kotlin/androidx/lifecycle/compose/FlowExt.kt
M lifecycle/lifecycle-runtime-compose/src/commonMain/kotlin/androidx/lifecycle/compose/LifecycleEffect.kt
M lifecycle/lifecycle-runtime-compose/src/commonMain/kotlin/androidx/lifecycle/compose/LifecycleExt.kt
M lifecycle/lifecycle-runtime-compose/src/commonMain/kotlin/androidx/lifecycle/compose/LocalLifecycleOwner.kt
https://android-review.googlesource.com/3017203
Branch: androidx-main
commit 32e15d7e6a58276987c27730dcc01ecfb950d2db
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Mar 28 11:07:46 2024
Convert `lifecycle-runtime-compose` to multiplatform
* Only platforms supported by Compose in the AndroidX repository will be supported by `lifecycle-runtime-compose` (`android`, `desktop`).
* That is equivalent to what has been done with other artifacts, such as `lifecycle-viewmodel-compose`.
* Credits to Jake Wharton for the original contribution, his CL can be found at aosp/3002225
Test: `gw -p lifecycle bOS`
RelNote: "Added multiplatform support for `lifecycle-runtime-compose`."
Bug: 331769623
Change-Id: I4f4a03613120f3222bd44ae1feab1a085ddb38da
M docs-tip-of-tree/build.gradle
M lifecycle/lifecycle-runtime-compose/build.gradle
M lifecycle/lifecycle-runtime-compose/src/androidInstrumentedTest/kotlin/androidx/lifecycle/compose/CollectAsStateWithLifecycleTests.kt
M lifecycle/lifecycle-runtime-compose/src/androidInstrumentedTest/kotlin/androidx/lifecycle/compose/DropUnlessLifecycleTest.kt
M lifecycle/lifecycle-runtime-compose/src/androidInstrumentedTest/kotlin/androidx/lifecycle/compose/LifecycleEffectTest.kt
M lifecycle/lifecycle-runtime-compose/src/androidInstrumentedTest/kotlin/androidx/lifecycle/compose/LifecycleExtTest.kt
M lifecycle/lifecycle-runtime-compose/src/commonMain/kotlin/androidx/lifecycle/compose/DropUnlessLifecycle.kt
M lifecycle/lifecycle-runtime-compose/src/commonMain/kotlin/androidx/lifecycle/compose/FlowExt.kt
M lifecycle/lifecycle-runtime-compose/src/commonMain/kotlin/androidx/lifecycle/compose/LifecycleEffect.kt
M lifecycle/lifecycle-runtime-compose/src/commonMain/kotlin/androidx/lifecycle/compose/LifecycleExt.kt
M lifecycle/lifecycle-runtime-compose/src/commonMain/kotlin/androidx/lifecycle/compose/LocalLifecycleOwner.kt
jb...@google.com <jb...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 195d70fcd1b8d7dea6820e1795584e29e7535c84
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Mar 28 11:14:40 2024
Add `lifecycle-runtime-ktx` in `lifecycle-runtime-compose`
* Constraints do not apply to project dependencies, causing `wear:compose:demos` to fail due to a transitive dependency on an older ``-ktx` library. This results in duplicate definitions.
* Workaround: Added a direct dependency on `lifecycle-runtime-ktx`. Although this artifact is empty, it ensures that upgrading `lifecycle-runtime-compose` also updates `lifecycle-runtime-ktx` in cases where our constraints fail (e.g., internally in AndroidX when using project dependencies).
Test: `./gradlew :wear:compose:integration-tests:demos:dataBindingMergeDependencyArtifactsDebugAndroidTest`
Test: `./gradlew :compose:ui:ui-test:compileDebugKotlinAndroid`
Bug: 331769623
Change-Id: I8e79f3d5a7b6586dac65ae4c7d3868d9518ee585
M lifecycle/lifecycle-runtime-compose/build.gradle
https://android-review.googlesource.com/3017204
Branch: androidx-main
commit 195d70fcd1b8d7dea6820e1795584e29e7535c84
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Mar 28 11:14:40 2024
Add `lifecycle-runtime-ktx` in `lifecycle-runtime-compose`
* Constraints do not apply to project dependencies, causing `wear:compose:demos` to fail due to a transitive dependency on an older ``-ktx` library. This results in duplicate definitions.
* Workaround: Added a direct dependency on `lifecycle-runtime-ktx`. Although this artifact is empty, it ensures that upgrading `lifecycle-runtime-compose` also updates `lifecycle-runtime-ktx` in cases where our constraints fail (e.g., internally in AndroidX when using project dependencies).
Test: `./gradlew :wear:compose:integration-tests:demos:dataBindingMergeDependencyArtifactsDebugAndroidTest`
Test: `./gradlew :compose:ui:ui-test:compileDebugKotlinAndroid`
Bug: 331769623
Change-Id: I8e79f3d5a7b6586dac65ae4c7d3868d9518ee585
M lifecycle/lifecycle-runtime-compose/build.gradle
br...@gmail.com <br...@gmail.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 49455ad0e53fd704ca5a3c56d5b621f666d3d7b9
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Mar 29 14:38:40 2024
Fix corrupt serialized resolution result in `compose-ui`
* `compose-ui` has a transitive dependency on `lifecycle-livedata-core`, and converting `lifecycle-runtime-compose` to KMP triggered a Gradle bug (https://github.com/gradle/gradle/issues/14220 ).
* Directly adding `lifecycle-livedata-core` as `compileOnly` to `androidMain` allowed us to workaround the issue.
Test: `./gradlew :compose:ui:ui:compileCommonMainKotlinMetadata -Pandroidx.constraints=true`
Bug: 331769623
Change-Id: I463276189cf90cfca8efc46bb29ecbb64010e09e
M compose/ui/ui/build.gradle
https://android-review.googlesource.com/3020183
Branch: androidx-main
commit 49455ad0e53fd704ca5a3c56d5b621f666d3d7b9
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Mar 29 14:38:40 2024
Fix corrupt serialized resolution result in `compose-ui`
* `compose-ui` has a transitive dependency on `lifecycle-livedata-core`, and converting `lifecycle-runtime-compose` to KMP triggered a Gradle bug (
* Directly adding `lifecycle-livedata-core` as `compileOnly` to `androidMain` allowed us to workaround the issue.
Test: `./gradlew :compose:ui:ui:compileCommonMainKotlinMetadata -Pandroidx.constraints=true`
Bug: 331769623
Change-Id: I463276189cf90cfca8efc46bb29ecbb64010e09e
M compose/ui/ui/build.gradle
Description
Now that we have CreationExtras for creating ViewModels via a ViewModelProvider, it would be nice if we could simplify the use of it even further particular for simple cases.
The creation extra has all of the information needed to make a ViewModel and by providing arguments to through extras you can instantiate ViewModels with specified values.
We can create a simple factory that associates a ViewModel class with a lambda and leverages CreationExtras to easily instantiate the class appropriately.