Vaibhav Jaiswal
01/13/2024, 1:22 PMArkadii Ivanov
01/13/2024, 1:28 PMVaibhav Jaiswal
01/13/2024, 1:31 PMComposeUiViewController
and pass to the RootComponent, it crashes with the errors that its already been saved with the same keyVaibhav Jaiswal
01/13/2024, 1:33 PMfun viewController(): UIViewController {
return ComposeUIViewController(
configure = { onFocusBehavior = OnFocusBehavior.DoNothing }
) {
val deeplink by this.deeplink.collectAsState()
val backDispatcher = BackDispatcher()
val rootComponent = RootComponentImpl(
componentContext = DefaultComponentContext(
lifecycle = ApplicationLifecycle(),
backHandler = backDispatcher
),
deeplink = deeplink
)
val isDarkTheme =
UIScreen.mainScreen.traitCollection.userInterfaceStyle ==
UIUserInterfaceStyle.UIUserInterfaceStyleDark
PredictiveBackGestureOverlay(
backDispatcher = backDispatcher, // Use the same BackDispatcher as above
backIcon = { progress, _ ->
PredictiveBackGestureIcon(
imageVector = Icons.Default.ArrowBack,
progress = progress,
)
},
modifier = Modifier.fillMaxSize(),
) {
MedialApp(
darkTheme = isDarkTheme,
dynamicColor = true,
component = rootComponent,
modifier = Modifier.fillMaxSize()
)
}
}
}
Vaibhav Jaiswal
01/13/2024, 1:39 PMupdateUiViewController
is called
struct ComposeView: UIViewControllerRepresentable {
var deeplink: String?
func makeUIViewController(context: Context) -> UIViewController {
let viewController = MedialApp.shared.viewController()
return viewController
}
func updateUIViewController(_ uiViewController: UIViewController, context: Context) {
MedialApp.shared.setUpDeeplink(deeplink: deeplink)
}
}
Arkadii Ivanov
01/13/2024, 3:11 PM