XuqmGroup-AndroidSDK/sdk-webview/src/main/java/com/xuqm/sdk/webview/XWebViewBridge.kt

37 行
1.3 KiB
Kotlin

2026-05-07 19:39:38 +08:00
package com.xuqm.sdk.webview
import android.content.Context
import android.content.Intent
2026-05-07 19:39:38 +08:00
import androidx.compose.runtime.mutableStateOf
private val currentConfig = mutableStateOf(XWebViewConfig())
private var currentController: XWebViewController? = null
fun openXWebView(config: XWebViewConfig) {
currentConfig.value = config
}
fun openXWebView(context: Context, config: XWebViewConfig) {
currentConfig.value = config
context.startActivity(Intent(context, XWebViewActivity::class.java))
}
2026-05-07 19:39:38 +08:00
fun getXWebViewConfig(): XWebViewConfig = currentConfig.value
fun setXWebViewController(controller: XWebViewController?) {
currentController = controller
}
fun getXWebViewController(): XWebViewController? = currentController
object XWebViewControl : XWebViewController {
override fun canGoBack(): Boolean = currentController?.canGoBack() ?: false
override fun canGoForward(): Boolean = currentController?.canGoForward() ?: false
override fun currentUrl(): String? = currentController?.currentUrl()
override fun goBack() { currentController?.goBack() }
override fun goForward() { currentController?.goForward() }
override fun reload() { currentController?.reload() }
override fun loadUrl(url: String) { currentController?.loadUrl(url) }
override fun postMessageToWeb(js: String) { currentController?.postMessageToWeb(js) }
2026-05-07 19:39:38 +08:00
}