This commit is contained in:
2026-05-17 11:08:53 +03:30
parent 9ec64fc179
commit 6aaa648128
7 changed files with 82 additions and 28 deletions
@@ -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 = {