How to create MutableStateFlow of Webview in ViewModel class in android

49 Views Asked by At

How can I manage webview state flow in ViewModel class. Something like:

private val _webView = MutableStateFlow(WebView())
val webView: StateFlow<WebView> get() = _webView


fun getWebViewHtml(){
  webView.value.evaluateJavascript("(function() {return}") { html ->
    print(html)
  }
}

I need to return rememberWebViewStateWithHTMLData from Jetpack

1

There are 1 best solutions below

0
Slava On
val initialState: WebView? = null
private val _webView = MutableStateFlow(initialState)
val webView: StateFlow<WebView?> get() = _webView

fun getTExtFromWebView(webView: StateFlow<WebView?>) {
    webView.value?.evaluateJavascript("(function(){return document.getElementsByTagName('html')[0].outerHTML;})();") { html ->
        println(html)
    }
}

@Compose
fun WebViewField(){
WebView(
        ......
        coroutine.launch {
            composeViewModel.setWebViewState(
                    webView
            )
        }
)

}