Convert ViewModelStoreOwner to Kotlin
Part of the kotlin conversion process for the Lifecycle library.
RelNote: "`ViewModelStoreOwner` is now in Kotlin.
This is a source incompatible change for classes written
in Kotlin - they must now override the `viewModelStore` property
rather than implementing the previous `getViewModelStore()` function."
Test: ./gradlew checkApi
Bug: 240298691
Change-Id: I864099e6aa61bc9cbc041181dafd6a7bce7d93b1
diff --git a/lifecycle/lifecycle-viewmodel/api/current.txt b/lifecycle/lifecycle-viewmodel/api/current.txt
index 577a5be..bf9d21e 100644
--- a/lifecycle/lifecycle-viewmodel/api/current.txt
+++ b/lifecycle/lifecycle-viewmodel/api/current.txt
@@ -80,6 +80,7 @@
public interface ViewModelStoreOwner {
method public androidx.lifecycle.ViewModelStore getViewModelStore();
+ property public abstract androidx.lifecycle.ViewModelStore viewModelStore;
}
public final class ViewTreeViewModelKt {
diff --git a/lifecycle/lifecycle-viewmodel/api/public_plus_experimental_current.txt b/lifecycle/lifecycle-viewmodel/api/public_plus_experimental_current.txt
index 577a5be..bf9d21e 100644
--- a/lifecycle/lifecycle-viewmodel/api/public_plus_experimental_current.txt
+++ b/lifecycle/lifecycle-viewmodel/api/public_plus_experimental_current.txt
@@ -80,6 +80,7 @@
public interface ViewModelStoreOwner {
method public androidx.lifecycle.ViewModelStore getViewModelStore();
+ property public abstract androidx.lifecycle.ViewModelStore viewModelStore;
}
public final class ViewTreeViewModelKt {
diff --git a/lifecycle/lifecycle-viewmodel/api/restricted_current.txt b/lifecycle/lifecycle-viewmodel/api/restricted_current.txt
index 577a5be..bf9d21e 100644
--- a/lifecycle/lifecycle-viewmodel/api/restricted_current.txt
+++ b/lifecycle/lifecycle-viewmodel/api/restricted_current.txt
@@ -80,6 +80,7 @@
public interface ViewModelStoreOwner {
method public androidx.lifecycle.ViewModelStore getViewModelStore();
+ property public abstract androidx.lifecycle.ViewModelStore viewModelStore;
}
public final class ViewTreeViewModelKt {
diff --git a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStoreOwner.kt b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStoreOwner.kt
index 19152be..5296800 100644
--- a/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStoreOwner.kt
+++ b/lifecycle/lifecycle-viewmodel/src/main/java/androidx/lifecycle/ViewModelStoreOwner.kt
@@ -13,27 +13,21 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-package androidx.lifecycle;
-
-import androidx.annotation.NonNull;
+package androidx.lifecycle
/**
- * A scope that owns {@link ViewModelStore}.
- * <p>
+ * A scope that owns [ViewModelStore].
+ *
* A responsibility of an implementation of this interface is to retain owned ViewModelStore
- * during the configuration changes and call {@link ViewModelStore#clear()}, when this scope is
+ * during the configuration changes and call [ViewModelStore.clear], when this scope is
* going to be destroyed.
*
* @see ViewTreeViewModelStoreOwner
*/
-@SuppressWarnings("WeakerAccess")
-public interface ViewModelStoreOwner {
+interface ViewModelStoreOwner {
+
/**
- * Returns owned {@link ViewModelStore}
- *
- * @return a {@code ViewModelStore}
+ * The owned [ViewModelStore]
*/
- @NonNull
- ViewModelStore getViewModelStore();
-}
+ val viewModelStore: ViewModelStore
+}
\ No newline at end of file