fix webview
- фикс пропадающей ошибки об отстутствии интернета (вместо неё появлялся пустой error_layout) - фикс скролла + увеличение производительности
This commit is contained in:
parent
df8088879a
commit
dc0e6d63cf
|
|
@ -128,12 +128,14 @@ open class BaseWebView @JvmOverloads constructor(
|
|||
open fun setWebViewPreferences() {
|
||||
binding.webView.apply {
|
||||
scrollBarStyle = View.SCROLLBARS_INSIDE_OVERLAY
|
||||
setLayerType(View.LAYER_TYPE_SOFTWARE, null)
|
||||
setLayerType(View.LAYER_TYPE_HARDWARE, null)
|
||||
with(settings) {
|
||||
loadsImagesAutomatically = true
|
||||
javaScriptEnabled = true
|
||||
domStorageEnabled = true
|
||||
loadWithOverviewMode = true
|
||||
useWideViewPort = true
|
||||
setInitialScale(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,12 +33,18 @@ open class BaseWebViewClient(private val callback: WebViewCallback, private val
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* onPageFinished calls always, but after onReceivedError
|
||||
*/
|
||||
override fun onPageFinished(view: WebView, url: String) {
|
||||
super.onPageFinished(view, url)
|
||||
isTimeout = false
|
||||
if (!isError) {
|
||||
callback.onPageCookiesLoaded(CookieManager.getInstance().getCookie(url).processCookies())
|
||||
}
|
||||
if (url == "about:blank") {
|
||||
isError = true
|
||||
}
|
||||
pageFinished()
|
||||
}
|
||||
|
||||
|
|
@ -56,11 +62,13 @@ open class BaseWebViewClient(private val callback: WebViewCallback, private val
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* onReceivedError don't calls when url is "about:blank" (url string isBlank)
|
||||
*/
|
||||
override fun onReceivedError(view: WebView, request: WebResourceRequest, error: WebResourceError) {
|
||||
if (!(error.errorCode == -10 && "about:blank" == request.url.toString()) || request.url.toString().isBlank()) {
|
||||
if (error.errorCode != -10) {
|
||||
isError = true
|
||||
}
|
||||
pageFinished()
|
||||
}
|
||||
|
||||
private fun pageFinished() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue