Fixed
Status Update
Comments
ca...@google.com <ca...@google.com> #2
Hello, I want to ask about this feature. Is there any update on this?
ja...@gmail.com <ja...@gmail.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
ja...@gmail.com <ja...@gmail.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
ca...@google.com <ca...@google.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
ca...@google.com <ca...@google.com> #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
Description