update
This commit is contained in:
@@ -6,6 +6,7 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import android.webkit.WebSettings
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -37,6 +38,8 @@ fun PspWebView(
|
||||
onPayClick: (amount: Long, id: String?) -> Unit,
|
||||
onDeviceInfo: () -> String,
|
||||
onPrintClick: (printEntities: List<PrintEntity>) -> Unit,
|
||||
onWebViewReady: (WebView) -> Unit = {},
|
||||
onPageFinished: (WebView) -> Unit = {},
|
||||
) {
|
||||
|
||||
val canGoBack = remember { mutableStateOf(false) }
|
||||
@@ -81,6 +84,7 @@ fun PspWebView(
|
||||
|
||||
DisposableEffect(Unit) {
|
||||
webView = WebViewManager.getWebView(context)
|
||||
webView?.let(onWebViewReady)
|
||||
onDispose {
|
||||
webView?.let { WebViewManager.releaseWebView(it) }
|
||||
}
|
||||
@@ -99,12 +103,20 @@ fun PspWebView(
|
||||
override fun onPageFinished(view: WebView?, url: String?) {
|
||||
super.onPageFinished(view, url)
|
||||
canGoBack.value = view?.canGoBack() ?: false
|
||||
view?.let(onPageFinished)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
settings.apply {
|
||||
@SuppressLint("SetJavaScriptEnabled")
|
||||
javaScriptEnabled = true
|
||||
domStorageEnabled = true
|
||||
cacheMode = WebSettings.LOAD_NO_CACHE
|
||||
allowFileAccess = true // Needed for Service Worker
|
||||
}
|
||||
clearCache(true)
|
||||
|
||||
addJavascriptInterface(bridge, "NativeBridge")
|
||||
|
||||
loadUrl(url)
|
||||
}
|
||||
},
|
||||
update = {
|
||||
|
||||
Reference in New Issue
Block a user