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 2f24bc2..041082a 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 @@ -44,7 +44,7 @@ open class BaseWebView @JvmOverloads constructor( var isRedirectEnable = false /** - * If you need to do some action on url click inside WebView, just assign this parameter. + * If you need to do some action on url click inside WebView, just assign this parameter and disable isRedirectEnable **/ var openBrowserOnRedirectInsideWebView: ((String?, WebView) -> Unit)? = null 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 bb050e6..51487bd 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 @@ -4,7 +4,12 @@ import android.graphics.Bitmap import android.net.http.SslError import android.os.Handler import android.os.Looper -import android.webkit.* +import android.webkit.CookieManager +import android.webkit.SslErrorHandler +import android.webkit.WebView +import android.webkit.WebViewClient +import android.webkit.WebResourceRequest +import android.webkit.WebResourceError import androidx.core.os.postDelayed open class BaseWebViewClient(private val callback: WebViewCallback, private val isSslPinningEnable: Boolean) : WebViewClient() { @@ -50,9 +55,12 @@ open class BaseWebViewClient(private val callback: WebViewCallback, private val } override fun shouldOverrideUrlLoading(view: WebView, url: String?): Boolean { - return !callback.onOverrideUrlLoading(url) - && view.originalUrl != null - && callback.actionOnRedirectInsideWebView(webView = view, url = url) != null + return if (!callback.onOverrideUrlLoading(url) && view.originalUrl != null) { + callback.actionOnRedirectInsideWebView(webView = view, url = url) + true + } else { + false + } } override fun onReceivedSslError(view: WebView, handler: SslErrorHandler, error: SslError) {