Fixed
Status Update
Comments
ra...@google.com <ra...@google.com> #2
Hello, I want to ask about this feature. Is there any update on this?
ra...@google.com <ra...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 8c85cb8b91da49a3ae39d5d4e3a9475d1b4c58a7
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Mon Jan 29 18:42:33 2024
Convert `ViewModel` to Kotlin
* Convert `ViewModel` to Kotlin, last java file in the `:viewmodel` artifact.
* Add `@Suppress` to statements with warnings that are intentional, to better communicate they are there for a reason. Intentional warnings state for code that is required for the library to work as expected.
* Update docs to follow Kotlin extensions and conventions (see aosp/2930010).
* Remove hungary notation from private variables, following Kotlin conventions.
* Update code to be idiomatic Kotlin (such as `closeable += closeables`). Changes are only aesthetical, no logic has changed.
* Merge `ViewModelCoroutineScope` into `ViewModel`, now that both files are Kotlin and are placed in the same module.
RelNote: "`ViewModel` is now in Kotlin"
Test: ./gradlew checkApi
Test: ViewModelTest
Bug: 214568825
Change-Id: I16f26813d862c76154739888bb631c214fa1c810
M lifecycle/lifecycle-viewmodel/api/current.txt
M lifecycle/lifecycle-viewmodel/api/restricted_current.txt
M lifecycle/lifecycle-viewmodel/src/androidTest/java/androidx/lifecycle/ViewModelTest.kt
D lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModel.java
A lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModel.kt
D lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelCoroutineScope.kt
M lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStore.kt
https://android-review.googlesource.com/2936170
Branch: androidx-main
commit 8c85cb8b91da49a3ae39d5d4e3a9475d1b4c58a7
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Mon Jan 29 18:42:33 2024
Convert `ViewModel` to Kotlin
* Convert `ViewModel` to Kotlin, last java file in the `:viewmodel` artifact.
* Add `@Suppress` to statements with warnings that are intentional, to better communicate they are there for a reason. Intentional warnings state for code that is required for the library to work as expected.
* Update docs to follow Kotlin extensions and conventions (see aosp/2930010).
* Remove hungary notation from private variables, following Kotlin conventions.
* Update code to be idiomatic Kotlin (such as `closeable += closeables`). Changes are only aesthetical, no logic has changed.
* Merge `ViewModelCoroutineScope` into `ViewModel`, now that both files are Kotlin and are placed in the same module.
RelNote: "`ViewModel` is now in Kotlin"
Test: ./gradlew checkApi
Test: ViewModelTest
Bug: 214568825
Change-Id: I16f26813d862c76154739888bb631c214fa1c810
M lifecycle/lifecycle-viewmodel/api/current.txt
M lifecycle/lifecycle-viewmodel/api/restricted_current.txt
M lifecycle/lifecycle-viewmodel/src/androidTest/java/androidx/lifecycle/ViewModelTest.kt
D lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModel.java
A lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModel.kt
D lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelCoroutineScope.kt
M lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStore.kt
ra...@google.com <ra...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit d93ce790debd7791098ff45977e4ba92552996b1
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Tue Jan 30 10:31:40 2024
Configure Kotlin Multiplatform in `lifecycle-viewmodel` artifact
* Adds multiplatform Gradle configuration to `lifecycle-viewmodel`, including changing the folder structure.
* Once aosp/2930010, aosp/2936170 and this change is merged, we will follow-up the work of b/214568825 with moving the implementations from `androidMain` to `commonMain`, and `androidUnitTest` to `commonTest`.
Test: ./gradlew checkApi
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew lifecycle:lifecycle-viewmodel:allTests
Bug: 214568825
Change-Id: Ib5a796dd743c9cc2ad83d7691a1ee656d3169583
M lifecycle/lifecycle-viewmodel/build.gradle
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/AndroidViewModelFactoryTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/CreationExtrasTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewModelTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewTreeViewModelStoreOwnerTest.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/AndroidManifest.xml
M lifecycle/lifecycle-viewmodel/src/androidMain/baseline-prof.txt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/AndroidViewModel.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/HasDefaultViewModelProviderFactory.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModel.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelLazy.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelProvider.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelStore.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelStoreOwner.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewTreeViewModel.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewTreeViewModelStoreOwner.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/viewmodel/CreationExtras.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/res/values/ids.xml
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelLazyTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelProviderReifiedTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelProviderTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelStoreTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/viewmodel/ViewModelInitializerTest.kt
M settings.gradle
https://android-review.googlesource.com/2935179
Branch: androidx-main
commit d93ce790debd7791098ff45977e4ba92552996b1
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Tue Jan 30 10:31:40 2024
Configure Kotlin Multiplatform in `lifecycle-viewmodel` artifact
* Adds multiplatform Gradle configuration to `lifecycle-viewmodel`, including changing the folder structure.
* Once aosp/2930010, aosp/2936170 and this change is merged, we will follow-up the work of
Test: ./gradlew checkApi
Test: ANDROIDX_PROJECTS=INFRAROGUE ./gradlew lifecycle:lifecycle-viewmodel:allTests
Bug: 214568825
Change-Id: Ib5a796dd743c9cc2ad83d7691a1ee656d3169583
M lifecycle/lifecycle-viewmodel/build.gradle
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/AndroidViewModelFactoryTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/CreationExtrasTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewModelTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewTreeViewModelStoreOwnerTest.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/AndroidManifest.xml
M lifecycle/lifecycle-viewmodel/src/androidMain/baseline-prof.txt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/AndroidViewModel.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/HasDefaultViewModelProviderFactory.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModel.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelLazy.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelProvider.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelStore.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelStoreOwner.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewTreeViewModel.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewTreeViewModelStoreOwner.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/viewmodel/CreationExtras.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/res/values/ids.xml
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelLazyTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelProviderReifiedTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelProviderTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelStoreTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/viewmodel/ViewModelInitializerTest.kt
M settings.gradle
re...@leantechroad.com <re...@leantechroad.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit 326c13fc1898318463f41acf070d4f6e78e9f694
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Tue Feb 13 14:56:57 2024
Use `AutoCloseable` in `ViewModel`
* Replace `Closeable` by `AutoCloseable`.
* Kotlin Multiplatform does not support `Closeable`, only `AutoCloseable`. The change is required to migrate `lifecycle-viewmodel` to Multiplatform.
* Keep previous stable constructor as `Deprecated(level = DeprecationLevel.HIDDEN)` to not break backward compatibility.
* Set `bagOfTags` and `closeables` to `nullable` to remove redundant `@Suppress("RedundantNullableReturnType")` on each `null` check.
* Add KDoc to `bagOfTags` to better explain the expected behaviour, and compatibility considerations.
RelNote: "`ViewModel` now uses `AutoCloseable` instead of `Closeable`. That is a backward compatible change, introduced to allow `lifecycle-viewmodel` to migrate to Kotlin Multiplatform."
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I27f8e7c85e59aae7c268d66d98f70d717d6f3c83
M lifecycle/lifecycle-viewmodel/api/current.txt
M lifecycle/lifecycle-viewmodel/api/restricted_current.txt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModel.kt
https://android-review.googlesource.com/2960843
Branch: androidx-main
commit 326c13fc1898318463f41acf070d4f6e78e9f694
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Tue Feb 13 14:56:57 2024
Use `AutoCloseable` in `ViewModel`
* Replace `Closeable` by `AutoCloseable`.
* Kotlin Multiplatform does not support `Closeable`, only `AutoCloseable`. The change is required to migrate `lifecycle-viewmodel` to Multiplatform.
* Keep previous stable constructor as `Deprecated(level = DeprecationLevel.HIDDEN)` to not break backward compatibility.
* Set `bagOfTags` and `closeables` to `nullable` to remove redundant `@Suppress("RedundantNullableReturnType")` on each `null` check.
* Add KDoc to `bagOfTags` to better explain the expected behaviour, and compatibility considerations.
RelNote: "`ViewModel` now uses `AutoCloseable` instead of `Closeable`. That is a backward compatible change, introduced to allow `lifecycle-viewmodel` to migrate to Kotlin Multiplatform."
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I27f8e7c85e59aae7c268d66d98f70d717d6f3c83
M lifecycle/lifecycle-viewmodel/api/current.txt
M lifecycle/lifecycle-viewmodel/api/restricted_current.txt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModel.kt
fs...@beecorp.ai <fs...@beecorp.ai> #6
Project: platform/frameworks/support
Branch: androidx-main
commit ee7828cd1baf3375fee05b3b17b4cb39706576ac
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 15 15:56:08 2024
Move `ViewModel` files without deps to `commonMain`
* Move all source files that does not have a dependency with `ViewModelProvider` from `androidMain` to `commonMain`
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:validateMultiplatformSourceSetNaming
Change-Id: I9f81b600ae052ca979b3aae6c3b2b3954efb9e3a
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelStore.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelStoreOwner.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/CreationExtras.kt
https://android-review.googlesource.com/2965065
Branch: androidx-main
commit ee7828cd1baf3375fee05b3b17b4cb39706576ac
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 15 15:56:08 2024
Move `ViewModel` files without deps to `commonMain`
* Move all source files that does not have a dependency with `ViewModelProvider` from `androidMain` to `commonMain`
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:validateMultiplatformSourceSetNaming
Change-Id: I9f81b600ae052ca979b3aae6c3b2b3954efb9e3a
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelStore.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelStoreOwner.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/CreationExtras.kt
ra...@google.com <ra...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit 965e5b9bfa6b9074903a5ca737af623e4313272c
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 15 11:07:57 2024
Set-up common dependencies for ViewModel KMP
* Includes all multiplatform version from `androidMain.dependencies`.
Bug: 214568825
Test: manual (project builds)
Change-Id: I55538f4640072bca8ac9305fe0562a5e0a55a20c
M lifecycle/lifecycle-viewmodel/build.gradle
https://android-review.googlesource.com/2965062
Branch: androidx-main
commit 965e5b9bfa6b9074903a5ca737af623e4313272c
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 15 11:07:57 2024
Set-up common dependencies for ViewModel KMP
* Includes all multiplatform version from `androidMain.dependencies`.
Bug: 214568825
Test: manual (project builds)
Change-Id: I55538f4640072bca8ac9305fe0562a5e0a55a20c
M lifecycle/lifecycle-viewmodel/build.gradle
fa...@gmail.com <fa...@gmail.com> #8
Project: platform/frameworks/support
Branch: androidx-main
commit 5c19d5033cbfe2c9be61522f6d56e947fcf0ee0e
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 15 11:49:48 2024
Migrate `ViewModel` class to KMP
* Includes `atomicfu` as a dependency. We need access to `kotlinx.atomicfu.locks.synchronized` for converting the internal `ViewModel` synchronization logic to multiplatform.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I18fc338a41c9d032163f686892e04212a881face
M lifecycle/lifecycle-viewmodel/build.gradle
D lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModel.android.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModel.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelImpl.kt
A lifecycle/lifecycle-viewmodel/src/jvmMain/kotlin/androidx/lifecycle/ViewModel.jvm.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/ViewModel.native.kt
https://android-review.googlesource.com/2965063
Branch: androidx-main
commit 5c19d5033cbfe2c9be61522f6d56e947fcf0ee0e
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 15 11:49:48 2024
Migrate `ViewModel` class to KMP
* Includes `atomicfu` as a dependency. We need access to `kotlinx.atomicfu.locks.synchronized` for converting the internal `ViewModel` synchronization logic to multiplatform.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I18fc338a41c9d032163f686892e04212a881face
M lifecycle/lifecycle-viewmodel/build.gradle
D lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModel.android.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModel.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelImpl.kt
A lifecycle/lifecycle-viewmodel/src/jvmMain/kotlin/androidx/lifecycle/ViewModel.jvm.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/ViewModel.native.kt
ra...@gmail.com <ra...@gmail.com> #9
Project: platform/frameworks/support
Branch: androidx-main
commit 0e3cb6e4730e0bdfc6005b0806e4df757c2a449c
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Feb 16 16:37:08 2024
Migrate `ViewModelProviderGet` class to KMP
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I953a052cb891ff9813daa67e12dff4ff19a7167d
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelProviderGet.kt
https://android-review.googlesource.com/2966766
Branch: androidx-main
commit 0e3cb6e4730e0bdfc6005b0806e4df757c2a449c
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Feb 16 16:37:08 2024
Migrate `ViewModelProviderGet` class to KMP
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I953a052cb891ff9813daa67e12dff4ff19a7167d
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelProviderGet.kt
ei...@gmail.com <ei...@gmail.com> #10
Project: platform/frameworks/support
Branch: androidx-main
commit d05b9d6dd4daa1442f014e21a062300b5790e441
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 15 19:42:27 2024
Migrate `ViewModelProvider` class to KMP
* `ViewModelProvider`, all nested types and classes with cyclic dependency have been converted to Kotlin Multiplatform.
* All methods that expects a `java.lang.Class<T>` have been converted to `expect`/`actual`, and received a new `KClass<T>` overload.
* A new constructor for `ViewModelProvider` has been added to avoid breaking binary compatibility with the Android source: the original Android source would generate overloaded constructors and a public synthetic constructor with last parameter as `DefaultConstructorMarker`, but when combining `JvmOverloads` with `expect`/`actual`, the synthetic constructor has not been generated. That is a binary compatibility.
* The `@JvmOverload` constructor has been left as an Android-only API for now.
* Kotlin Multiplatform does not support expect class with default implementation yet. Hence, the common logic has been extracted to an internal `ViewModelProviderImpl` (for stateful logic) and `ViewModelProviders` (for stateless logic).
RelNote: "`ViewModelProvider` is now Kotlin Multiplatform. To accommodate this change, compatibility methods have been added for handling `java.lang.Class<T>` and `kotlin.reflect.KClass<T>`."
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I898c8d73432c41045ef5e330741b0c724f92ee1f
M lifecycle/lifecycle-viewmodel/api/api_lint.ignore
M lifecycle/lifecycle-viewmodel/api/current.txt
M lifecycle/lifecycle-viewmodel/api/restricted_current.txt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelProvider.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.android.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/HasDefaultViewModelProviderFactory.android.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelProvider.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactory.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviderImpl.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviders.kt
A lifecycle/lifecycle-viewmodel/src/desktopMain/kotlin/androidx/lifecycle/ViewModelProvider.desktop.kt
A lifecycle/lifecycle-viewmodel/src/desktopMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.desktop.kt
A lifecycle/lifecycle-viewmodel/src/jvmMain/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactory.jvm.kt
A lifecycle/lifecycle-viewmodel/src/jvmMain/kotlin/androidx/lifecycle/viewmodel/internal/JvmViewModelProviders.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/ViewModelProvider.native.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.native.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactory.native.kt
https://android-review.googlesource.com/2966765
Branch: androidx-main
commit d05b9d6dd4daa1442f014e21a062300b5790e441
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 15 19:42:27 2024
Migrate `ViewModelProvider` class to KMP
* `ViewModelProvider`, all nested types and classes with cyclic dependency have been converted to Kotlin Multiplatform.
* All methods that expects a `java.lang.Class<T>` have been converted to `expect`/`actual`, and received a new `KClass<T>` overload.
* A new constructor for `ViewModelProvider` has been added to avoid breaking binary compatibility with the Android source: the original Android source would generate overloaded constructors and a public synthetic constructor with last parameter as `DefaultConstructorMarker`, but when combining `JvmOverloads` with `expect`/`actual`, the synthetic constructor has not been generated. That is a binary compatibility.
* The `@JvmOverload` constructor has been left as an Android-only API for now.
* Kotlin Multiplatform does not support expect class with default implementation yet. Hence, the common logic has been extracted to an internal `ViewModelProviderImpl` (for stateful logic) and `ViewModelProviders` (for stateless logic).
RelNote: "`ViewModelProvider` is now Kotlin Multiplatform. To accommodate this change, compatibility methods have been added for handling `java.lang.Class<T>` and `kotlin.reflect.KClass<T>`."
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I898c8d73432c41045ef5e330741b0c724f92ee1f
M lifecycle/lifecycle-viewmodel/api/api_lint.ignore
M lifecycle/lifecycle-viewmodel/api/current.txt
M lifecycle/lifecycle-viewmodel/api/restricted_current.txt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelProvider.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.android.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/HasDefaultViewModelProviderFactory.android.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelProvider.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactory.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviderImpl.kt
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviders.kt
A lifecycle/lifecycle-viewmodel/src/desktopMain/kotlin/androidx/lifecycle/ViewModelProvider.desktop.kt
A lifecycle/lifecycle-viewmodel/src/desktopMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.desktop.kt
A lifecycle/lifecycle-viewmodel/src/jvmMain/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactory.jvm.kt
A lifecycle/lifecycle-viewmodel/src/jvmMain/kotlin/androidx/lifecycle/viewmodel/internal/JvmViewModelProviders.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/ViewModelProvider.native.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.native.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactory.native.kt
ni...@gmail.com <ni...@gmail.com> #11
Project: platform/frameworks/support
Branch: androidx-main
commit d209cc4713f19ec534bd94c91276443ac05edf99
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Feb 16 16:39:17 2024
Migrate `ViewModelLazy` class to KMP
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I6485752da173356ea4fef4505d9ec53c1145e91a
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelLazy.kt
https://android-review.googlesource.com/2966767
Branch: androidx-main
commit d209cc4713f19ec534bd94c91276443ac05edf99
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Feb 16 16:39:17 2024
Migrate `ViewModelLazy` class to KMP
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I6485752da173356ea4fef4505d9ec53c1145e91a
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelLazy.kt
sd...@charisfound.org <sd...@charisfound.org> #12
Project: platform/frameworks/support
Branch: androidx-main
commit 2b0f90508a5821c82e9b2e73a9d44ae3753a3b06
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 15 15:40:43 2024
Add `android` suffix to all `ViewModel.androidMain` files
* Required to comply with `:lifecycle:lifecycle-viewmodel:validateMultiplatformSourceSetNaming` task.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:validateMultiplatformSourceSetNaming
Change-Id: I41235a51bb943cf26e23f27d50dcad97ec588290
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/AndroidViewModel.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/HasDefaultViewModelProviderFactory.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModel.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelLazy.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelProvider.android.kt
A lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelProviderGet.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelStore.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelStoreOwner.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewTreeViewModel.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewTreeViewModelStoreOwner.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/viewmodel/CreationExtras.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.android.kt
https://android-review.googlesource.com/2965244
Branch: androidx-main
commit 2b0f90508a5821c82e9b2e73a9d44ae3753a3b06
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 15 15:40:43 2024
Add `android` suffix to all `ViewModel.androidMain` files
* Required to comply with `:lifecycle:lifecycle-viewmodel:validateMultiplatformSourceSetNaming` task.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:validateMultiplatformSourceSetNaming
Change-Id: I41235a51bb943cf26e23f27d50dcad97ec588290
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/AndroidViewModel.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/HasDefaultViewModelProviderFactory.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModel.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelLazy.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelProvider.android.kt
A lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelProviderGet.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelStore.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelStoreOwner.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewTreeViewModel.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewTreeViewModelStoreOwner.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/viewmodel/CreationExtras.android.kt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.android.kt
ja...@ib3.co.uk <ja...@ib3.co.uk> #13
Project: platform/frameworks/support
Branch: androidx-main
commit e7aad89323a8f7be4593b6b459e6c08696211e39
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Wed Feb 21 18:03:35 2024
Move `ViewModel` tests to `commonTest`
* Migrate all tests, except `ViewModelProviderTest` to `commonTest`.
* Replace `truth` usage for `kruth`.
* Tests dependencies are shared between `androidUnitTest` and `androidInstrumentedTest` by using a `jvmTest` common ancestor.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:macosArm64Test
Change-Id: I1c55193640ceb92839c79363637fbed08b020d9a
M lifecycle/lifecycle-viewmodel/build.gradle
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/AndroidViewModelFactoryTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/CreationExtrasTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewModelScopeTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewTreeViewModelStoreOwnerTest.kt
A lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/MockViewModelStoreTest.kt
A lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/MockViewModelTest.kt
D lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelLazyTest.kt
D lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelProviderReifiedTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelProviderTest.kt
D lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelStoreTest.kt
D lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelTest.kt
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/ViewModelLazyTest.kt
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/ViewModelProviderGetTest.kt
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/ViewModelStoreTest.kt
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/ViewModelTest.kt
M lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/viewmodel/ViewModelInitializerTest.kt
https://android-review.googlesource.com/2972132
Branch: androidx-main
commit e7aad89323a8f7be4593b6b459e6c08696211e39
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Wed Feb 21 18:03:35 2024
Move `ViewModel` tests to `commonTest`
* Migrate all tests, except `ViewModelProviderTest` to `commonTest`.
* Replace `truth` usage for `kruth`.
* Tests dependencies are shared between `androidUnitTest` and `androidInstrumentedTest` by using a `jvmTest` common ancestor.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:macosArm64Test
Change-Id: I1c55193640ceb92839c79363637fbed08b020d9a
M lifecycle/lifecycle-viewmodel/build.gradle
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/AndroidViewModelFactoryTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/CreationExtrasTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewModelScopeTest.kt
M lifecycle/lifecycle-viewmodel/src/androidInstrumentedTest/kotlin/androidx/lifecycle/ViewTreeViewModelStoreOwnerTest.kt
A lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/MockViewModelStoreTest.kt
A lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/MockViewModelTest.kt
D lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelLazyTest.kt
D lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelProviderReifiedTest.kt
M lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelProviderTest.kt
D lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelStoreTest.kt
D lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelTest.kt
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/ViewModelLazyTest.kt
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/ViewModelProviderGetTest.kt
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/ViewModelStoreTest.kt
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/ViewModelTest.kt
M lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/viewmodel/ViewModelInitializerTest.kt
jh...@google.com <jh...@google.com> #14
Project: platform/frameworks/support
Branch: androidx-main
commit a9db8a527af2df6402d9ffd2358e983360eacf5e
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Feb 23 10:33:42 2024
Add tests for `NewInstanceFactory`
* Adds new tests for `NewInstanceFactoryTest`. Previously, it was tested in `ViewModelProviderTest` but that is not possible anymore - as `NewInstanceFactory` is Android-only and `ViewModelProviderTest` is in common.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:macosArm64Test
Change-Id: Ie3d33f8c46b46c0f7be595f430618cb7d8ec77e8
A lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/NewInstanceFactoryTest.kt
https://android-review.googlesource.com/2975531
Branch: androidx-main
commit a9db8a527af2df6402d9ffd2358e983360eacf5e
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Feb 23 10:33:42 2024
Add tests for `NewInstanceFactory`
* Adds new tests for `NewInstanceFactoryTest`. Previously, it was tested in `ViewModelProviderTest` but that is not possible anymore - as `NewInstanceFactory` is Android-only and `ViewModelProviderTest` is in common.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:macosArm64Test
Change-Id: Ie3d33f8c46b46c0f7be595f430618cb7d8ec77e8
A lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/NewInstanceFactoryTest.kt
ma...@visma.com <ma...@visma.com> #15
Project: platform/frameworks/support
Branch: androidx-main
commit 084be9db68c065e7a1d3cdd6394728b38fdb5b93
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Feb 23 10:32:35 2024
Add tests for `DefaultViewModelProviderFactory`
* Adds tests for `DefaultViewModelProviderFactory` for both Native and JVM targets.
* Native and Jvm targets have different implementations, as we can't instantiate a `ViewModel` using the no-args constructor without including `kotlin-reflect-full` on native.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:macosArm64Test
Change-Id: I178188c783bd1df20decda867373bffa574e53f5
A lifecycle/lifecycle-viewmodel/src/jvmTest/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactoryTest.kt
A lifecycle/lifecycle-viewmodel/src/nativeTest/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactoryTest.kt
https://android-review.googlesource.com/2973610
Branch: androidx-main
commit 084be9db68c065e7a1d3cdd6394728b38fdb5b93
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Feb 23 10:32:35 2024
Add tests for `DefaultViewModelProviderFactory`
* Adds tests for `DefaultViewModelProviderFactory` for both Native and JVM targets.
* Native and Jvm targets have different implementations, as we can't instantiate a `ViewModel` using the no-args constructor without including `kotlin-reflect-full` on native.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:macosArm64Test
Change-Id: I178188c783bd1df20decda867373bffa574e53f5
A lifecycle/lifecycle-viewmodel/src/jvmTest/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactoryTest.kt
A lifecycle/lifecycle-viewmodel/src/nativeTest/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactoryTest.kt
cj...@glampinghub.com <cj...@glampinghub.com> #16
Project: platform/frameworks/support
Branch: androidx-main
commit 82839d3c84556c50c102615688aa1416570339a3
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Feb 23 10:31:16 2024
Add tests for `getDefaultFactory` and `getDefaultExtras`
* Adds tests for common functions `ViewModelProviders.getDefaultFactory` and `ViewModelProviders.getDefaultExtras`, as those default parameters are not called in the `ViewModelProviderTest`.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:macosArm64Test
Change-Id: I6157cb514fd6c72e5c17d4f506a1e70a9aab0d2a
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProvidersTest.kt
https://android-review.googlesource.com/2973609
Branch: androidx-main
commit 82839d3c84556c50c102615688aa1416570339a3
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Fri Feb 23 10:31:16 2024
Add tests for `getDefaultFactory` and `getDefaultExtras`
* Adds tests for common functions `ViewModelProviders.getDefaultFactory` and `ViewModelProviders.getDefaultExtras`, as those default parameters are not called in the `ViewModelProviderTest`.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:macosArm64Test
Change-Id: I6157cb514fd6c72e5c17d4f506a1e70a9aab0d2a
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProvidersTest.kt
st...@gmail.com <st...@gmail.com> #17
Project: platform/frameworks/support
Branch: androidx-main
commit 0cbcf323605e7cd63a4fd92fb61f579be4f36e3b
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 22 15:30:28 2024
Move `ViewModelProvider` tests to `commonTest`
* Migrates `ViewModelProviderTest` to `commonTest`.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:macosArm64Test
Change-Id: Ieb45f565ff79c133fb1f614a7f9a5c3b4d1705e0
D lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelProviderTest.kt
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/ViewModelProviderTest.kt
https://android-review.googlesource.com/2973814
Branch: androidx-main
commit 0cbcf323605e7cd63a4fd92fb61f579be4f36e3b
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Thu Feb 22 15:30:28 2024
Move `ViewModelProvider` tests to `commonTest`
* Migrates `ViewModelProviderTest` to `commonTest`.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:macosArm64Test
Change-Id: Ieb45f565ff79c133fb1f614a7f9a5c3b4d1705e0
D lifecycle/lifecycle-viewmodel/src/androidUnitTest/kotlin/androidx/lifecycle/ViewModelProviderTest.kt
A lifecycle/lifecycle-viewmodel/src/commonTest/kotlin/androidx/lifecycle/ViewModelProviderTest.kt
ra...@google.com <ra...@google.com> #18
Project: platform/frameworks/support
Branch: androidx-main
commit 6c9d9f858cf59ddecf53027c80a36e180006c3b8
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Mon Feb 26 10:33:05 2024
Set native `ViewModelProvider.Factory` to throw `UnsupportedOperationException`
* `ViewModelProvider.Factory.create` has a default implementation to maintain compatibility with the Android target; but should be directly implemented by any caller.
* Invoking `ViewModelProvider.Factory.create` now throws an exception from all platforms.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I6fcd5ee66184d74bd885a6618d3ceacbd7b7da2f
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelProvider.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviderImpl.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviders.kt
M lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/ViewModelProvider.native.kt
M lifecycle/lifecycle-viewmodel/src/nativeTest/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactoryTest.kt
https://android-review.googlesource.com/2977073
Branch: androidx-main
commit 6c9d9f858cf59ddecf53027c80a36e180006c3b8
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Mon Feb 26 10:33:05 2024
Set native `ViewModelProvider.Factory` to throw `UnsupportedOperationException`
* `ViewModelProvider.Factory.create` has a default implementation to maintain compatibility with the Android target; but should be directly implemented by any caller.
* Invoking `ViewModelProvider.Factory.create` now throws an exception from all platforms.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I6fcd5ee66184d74bd885a6618d3ceacbd7b7da2f
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelProvider.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviderImpl.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviders.kt
M lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/ViewModelProvider.native.kt
M lifecycle/lifecycle-viewmodel/src/nativeTest/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactoryTest.kt
kl...@ubilabs.net <kl...@ubilabs.net> #19
Project: platform/frameworks/support
Branch: androidx-main
commit 9e09262d2635d2dcc6b64c2b531230e5c5627561
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Mon Feb 26 11:39:32 2024
Remove `atomicfu` from `viewmodel`
* JVM targets will use the default JVM `synchronized`, while native will fallback to `atomicfu` implementation.
* See [here](https://android-review.git.corp.google.com/c/platform/frameworks/support/+/2965063/comments/d45e06e7_002cc529 ) for more details.
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I091c74361c13f434ffaaa6d124a7f972ced38bed
M lifecycle/lifecycle-viewmodel/build.gradle
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelImpl.kt
A lifecycle/lifecycle-viewmodel/src/darwinMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.native.darwin.kt
A lifecycle/lifecycle-viewmodel/src/jvmMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.jvm.kt
A lifecycle/lifecycle-viewmodel/src/linuxMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.native.linux.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.native.kt
https://android-review.googlesource.com/2977251
Branch: androidx-main
commit 9e09262d2635d2dcc6b64c2b531230e5c5627561
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Mon Feb 26 11:39:32 2024
Remove `atomicfu` from `viewmodel`
* JVM targets will use the default JVM `synchronized`, while native will fallback to `atomicfu` implementation.
* See [here](
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I091c74361c13f434ffaaa6d124a7f972ced38bed
M lifecycle/lifecycle-viewmodel/build.gradle
A lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelImpl.kt
A lifecycle/lifecycle-viewmodel/src/darwinMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.native.darwin.kt
A lifecycle/lifecycle-viewmodel/src/jvmMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.jvm.kt
A lifecycle/lifecycle-viewmodel/src/linuxMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.native.linux.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.native.kt
jh...@google.com <jh...@google.com> #20
Project: platform/frameworks/support
Branch: androidx-main
commit 1eebb19e3f060d9f76522923adc019701858d371
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Mon Feb 26 11:04:19 2024
Add a public `VIEW_MODEL_KEY` to `ViewModelProvider`
RelNote: "Expose `VIEW_MODEL_KEY` as a public property. `VIEW_MODEL_KEY` will be used by other platforms to integrate with `lifecycle-viewmodel` artifact."
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I8143b0d63c8d7efb16b4ec2d71e66754908d9545
M lifecycle/lifecycle-viewmodel/api/current.txt
M lifecycle/lifecycle-viewmodel/api/restricted_current.txt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelProvider.android.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelProvider.kt
M lifecycle/lifecycle-viewmodel/src/desktopMain/kotlin/androidx/lifecycle/ViewModelProvider.desktop.kt
M lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/ViewModelProvider.native.kt
https://android-review.googlesource.com/2977074
Branch: androidx-main
commit 1eebb19e3f060d9f76522923adc019701858d371
Author: Marcello Galhardo <mgalhardo@google.com>
Date: Mon Feb 26 11:04:19 2024
Add a public `VIEW_MODEL_KEY` to `ViewModelProvider`
RelNote: "Expose `VIEW_MODEL_KEY` as a public property. `VIEW_MODEL_KEY` will be used by other platforms to integrate with `lifecycle-viewmodel` artifact."
Bug: 214568825
Test: ./gradlew :lifecycle:lifecycle-viewmodel:checkApi
Test: ./gradlew :lifecycle:lifecycle-viewmodel:connectedDebugAndroidTest
Test: ./gradlew :lifecycle:lifecycle-viewmodel:testDebugUnitTest
Change-Id: I8143b0d63c8d7efb16b4ec2d71e66754908d9545
M lifecycle/lifecycle-viewmodel/api/current.txt
M lifecycle/lifecycle-viewmodel/api/restricted_current.txt
M lifecycle/lifecycle-viewmodel/src/androidMain/kotlin/androidx/lifecycle/ViewModelProvider.android.kt
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/ViewModelProvider.kt
M lifecycle/lifecycle-viewmodel/src/desktopMain/kotlin/androidx/lifecycle/ViewModelProvider.desktop.kt
M lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/ViewModelProvider.native.kt
kl...@ubilabs.net <kl...@ubilabs.net> #21
Project: platform/frameworks/support
Branch: androidx-main
commit b7639a1c78da27755a2f7c05e16039a25689da05
Author: Ivan Matkov <ivan.matkov@jetbrains.com>
Date: Fri Feb 23 12:42:55 2024
Align source sets in lifecycle-viewmodel with JetBrains fork
- Move shared code into `nonJvmMain` (a common source set for native and web targets)
- Use expect/actual for `qualifiedName`
- Remove `macEnabled`/`linuxEnabled` conditions as it's enabled by default now
Bug: 214568825
Test: N/A
Change-Id: I3623f265fed7bd2db3c934a48c7dbbc865d94f22
M lifecycle/lifecycle-viewmodel/build.gradle
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviders.kt
M lifecycle/lifecycle-viewmodel/src/darwinMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.darwin.kt
A lifecycle/lifecycle-viewmodel/src/jvmMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviders.jvm.kt
M lifecycle/lifecycle-viewmodel/src/linuxMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.linux.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviders.native.kt
M lifecycle/lifecycle-viewmodel/src/nonJvmMain/kotlin/androidx/lifecycle/ViewModel.nonJvm.kt
M lifecycle/lifecycle-viewmodel/src/nonJvmMain/kotlin/androidx/lifecycle/ViewModelProvider.nonJvm.kt
M lifecycle/lifecycle-viewmodel/src/nonJvmMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.nonJvm.kt
M lifecycle/lifecycle-viewmodel/src/nonJvmMain/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactory.nonJvm.kt
https://android-review.googlesource.com/2986217
Branch: androidx-main
commit b7639a1c78da27755a2f7c05e16039a25689da05
Author: Ivan Matkov <ivan.matkov@jetbrains.com>
Date: Fri Feb 23 12:42:55 2024
Align source sets in lifecycle-viewmodel with JetBrains fork
- Move shared code into `nonJvmMain` (a common source set for native and web targets)
- Use expect/actual for `qualifiedName`
- Remove `macEnabled`/`linuxEnabled` conditions as it's enabled by default now
Bug: 214568825
Test: N/A
Change-Id: I3623f265fed7bd2db3c934a48c7dbbc865d94f22
M lifecycle/lifecycle-viewmodel/build.gradle
M lifecycle/lifecycle-viewmodel/src/commonMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviders.kt
M lifecycle/lifecycle-viewmodel/src/darwinMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.darwin.kt
A lifecycle/lifecycle-viewmodel/src/jvmMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviders.jvm.kt
M lifecycle/lifecycle-viewmodel/src/linuxMain/kotlin/androidx/lifecycle/viewmodel/internal/Lock.linux.kt
A lifecycle/lifecycle-viewmodel/src/nativeMain/kotlin/androidx/lifecycle/viewmodel/internal/ViewModelProviders.native.kt
M lifecycle/lifecycle-viewmodel/src/nonJvmMain/kotlin/androidx/lifecycle/ViewModel.nonJvm.kt
M lifecycle/lifecycle-viewmodel/src/nonJvmMain/kotlin/androidx/lifecycle/ViewModelProvider.nonJvm.kt
M lifecycle/lifecycle-viewmodel/src/nonJvmMain/kotlin/androidx/lifecycle/viewmodel/InitializerViewModelFactory.nonJvm.kt
M lifecycle/lifecycle-viewmodel/src/nonJvmMain/kotlin/androidx/lifecycle/viewmodel/internal/DefaultViewModelProviderFactory.nonJvm.kt
mn...@gmail.com <mn...@gmail.com> #22
Comment has been deleted.
ad...@gmail.com <ad...@gmail.com> #23
deleted
ch...@neighbor.com <ch...@neighbor.com> #24
Hey
Description
Hiding all items from the map will not hide Museum and some other items.