File tree 1 file changed +4
-0
lines changed
workflow-ui/compose/src/main/java/com/squareup/workflow1/ui/compose
1 file changed +4
-0
lines changed Original file line number Diff line number Diff line change @@ -10,8 +10,10 @@ import androidx.compose.runtime.CompositionLocalProvider
10
10
import androidx.compose.runtime.remember
11
11
import androidx.compose.ui.platform.ComposeView
12
12
import androidx.compose.ui.platform.LocalLifecycleOwner
13
+ import androidx.compose.ui.platform.LocalSavedStateRegistryOwner
13
14
import androidx.compose.ui.viewinterop.AndroidView
14
15
import androidx.lifecycle.setViewTreeLifecycleOwner
16
+ import androidx.savedstate.setViewTreeSavedStateRegistryOwner
15
17
import com.squareup.workflow1.ui.Screen
16
18
import com.squareup.workflow1.ui.ScreenViewFactory
17
19
import com.squareup.workflow1.ui.ScreenViewHolder
@@ -190,6 +192,7 @@ public fun <ScreenT : Screen> ScreenViewFactory<ScreenT>.asComposableFactory():
190
192
rendering : ScreenT
191
193
) {
192
194
val lifecycleOwner = LocalLifecycleOwner .current
195
+ val savedStateRegistryOwner = LocalSavedStateRegistryOwner .current
193
196
val environment = LocalWorkflowEnvironment .current
194
197
195
198
// Make sure any nested WorkflowViewStub will be able to propagate the
@@ -217,6 +220,7 @@ public fun <ScreenT : Screen> ScreenViewFactory<ScreenT>.asComposableFactory():
217
220
218
221
// Unfortunately AndroidView doesn't propagate these itself.
219
222
viewHolder.view.setViewTreeLifecycleOwner(lifecycleOwner)
223
+ viewHolder.view.setViewTreeSavedStateRegistryOwner(savedStateRegistryOwner)
220
224
onBackOrNull?.let {
221
225
viewHolder.view.setViewTreeOnBackPressedDispatcherOwner(it)
222
226
}
You can’t perform that action at this time.
0 commit comments