Skip to content

Commit e4eee94

Browse files
committed
specify registry owner
1 parent 86dab95 commit e4eee94

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

workflow-ui/compose/src/main/java/com/squareup/workflow1/ui/compose/ScreenComposableFactory.kt

+4
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ import androidx.compose.runtime.CompositionLocalProvider
1010
import androidx.compose.runtime.remember
1111
import androidx.compose.ui.platform.ComposeView
1212
import androidx.compose.ui.platform.LocalLifecycleOwner
13+
import androidx.compose.ui.platform.LocalSavedStateRegistryOwner
1314
import androidx.compose.ui.viewinterop.AndroidView
1415
import androidx.lifecycle.setViewTreeLifecycleOwner
16+
import androidx.savedstate.setViewTreeSavedStateRegistryOwner
1517
import com.squareup.workflow1.ui.Screen
1618
import com.squareup.workflow1.ui.ScreenViewFactory
1719
import com.squareup.workflow1.ui.ScreenViewHolder
@@ -190,6 +192,7 @@ public fun <ScreenT : Screen> ScreenViewFactory<ScreenT>.asComposableFactory():
190192
rendering: ScreenT
191193
) {
192194
val lifecycleOwner = LocalLifecycleOwner.current
195+
val savedStateRegistryOwner = LocalSavedStateRegistryOwner.current
193196
val environment = LocalWorkflowEnvironment.current
194197

195198
// Make sure any nested WorkflowViewStub will be able to propagate the
@@ -217,6 +220,7 @@ public fun <ScreenT : Screen> ScreenViewFactory<ScreenT>.asComposableFactory():
217220

218221
// Unfortunately AndroidView doesn't propagate these itself.
219222
viewHolder.view.setViewTreeLifecycleOwner(lifecycleOwner)
223+
viewHolder.view.setViewTreeSavedStateRegistryOwner(savedStateRegistryOwner)
220224
onBackOrNull?.let {
221225
viewHolder.view.setViewTreeOnBackPressedDispatcherOwner(it)
222226
}

0 commit comments

Comments
 (0)