diff --git a/webview/src/main/java/ru/touchin/roboswag/webview/web_view/BaseWebView.kt b/webview/src/main/java/ru/touchin/roboswag/webview/web_view/BaseWebView.kt index aa38d3d..a413203 100644 --- a/webview/src/main/java/ru/touchin/roboswag/webview/web_view/BaseWebView.kt +++ b/webview/src/main/java/ru/touchin/roboswag/webview/web_view/BaseWebView.kt @@ -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) } } } diff --git a/webview/src/main/java/ru/touchin/roboswag/webview/web_view/BaseWebViewClient.kt b/webview/src/main/java/ru/touchin/roboswag/webview/web_view/BaseWebViewClient.kt index c683c1b..98d21c2 100644 --- a/webview/src/main/java/ru/touchin/roboswag/webview/web_view/BaseWebViewClient.kt +++ b/webview/src/main/java/ru/touchin/roboswag/webview/web_view/BaseWebViewClient.kt @@ -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() {