diff --git a/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeInitializerImpl.kt b/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeInitializerImpl.kt index fbd7f83ad350d..b84f71a0e68c5 100644 --- a/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeInitializerImpl.kt +++ b/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeInitializerImpl.kt @@ -17,9 +17,8 @@ package com.android.systemui.compose import android.view.View -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.ViewTreeLifecycleOwner -import androidx.savedstate.SavedStateRegistry +import androidx.lifecycle.findViewTreeLifecycleOwner +import androidx.lifecycle.setViewTreeLifecycleOwner import androidx.savedstate.SavedStateRegistryController import androidx.savedstate.SavedStateRegistryOwner import com.android.compose.animation.ViewTreeSavedStateRegistryOwner @@ -27,7 +26,7 @@ import com.android.systemui.lifecycle.ViewLifecycleOwner internal object ComposeInitializerImpl : ComposeInitializer { override fun onAttachedToWindow(root: View) { - if (ViewTreeLifecycleOwner.get(root) != null) { + if (root.findViewTreeLifecycleOwner() != null) { error("root $root already has a LifecycleOwner") } @@ -54,7 +53,7 @@ internal object ComposeInitializerImpl : ComposeInitializer { override val savedStateRegistry = savedStateRegistryController.savedStateRegistry - override fun getLifecycle(): Lifecycle = lifecycleOwner.lifecycle + override val lifecycle = lifecycleOwner.lifecycle } // We must call [ViewLifecycleOwner.onCreate] after creating the [SavedStateRegistryOwner] @@ -64,13 +63,13 @@ internal object ComposeInitializerImpl : ComposeInitializer { // Set the owners on the root. They will be reused by any ComposeView inside the root // hierarchy. - ViewTreeLifecycleOwner.set(root, lifecycleOwner) + root.setViewTreeLifecycleOwner(lifecycleOwner) ViewTreeSavedStateRegistryOwner.set(root, savedStateRegistryOwner) } override fun onDetachedFromWindow(root: View) { - (ViewTreeLifecycleOwner.get(root) as ViewLifecycleOwner).onDestroy() - ViewTreeLifecycleOwner.set(root, null) + (root.findViewTreeLifecycleOwner() as ViewLifecycleOwner).onDestroy() + root.setViewTreeLifecycleOwner(null) ViewTreeSavedStateRegistryOwner.set(root, null) } }