codeExpire
This commit is contained in:
parent
70de19523d
commit
69c27c3b90
|
|
@ -11,6 +11,7 @@ import android.webkit.ConsoleMessage
|
|||
import android.webkit.WebView
|
||||
import androidx.core.content.withStyledAttributes
|
||||
import androidx.core.widget.TextViewCompat
|
||||
import ru.touchin.extensions.openBrowser
|
||||
import ru.touchin.extensions.setOnRippleClickListener
|
||||
import ru.touchin.roboswag.views.widget.Switcher
|
||||
import ru.touchin.roboswag.webview.R
|
||||
|
|
@ -42,6 +43,7 @@ open class BaseWebView @JvmOverloads constructor(
|
|||
}
|
||||
|
||||
var isRedirectEnable = false
|
||||
var onRedirectInsideWebView: ((String) -> Unit) = {context.openBrowser(it)}
|
||||
|
||||
init {
|
||||
binding.pullToRefresh.isEnabled = isPullToRefreshEnable
|
||||
|
|
@ -105,6 +107,10 @@ open class BaseWebView @JvmOverloads constructor(
|
|||
onCookieLoaded?.invoke(cookies)
|
||||
}
|
||||
|
||||
override fun onInsideWebViewRedirect(url: String?) {
|
||||
onRedirectInsideWebView
|
||||
}
|
||||
|
||||
fun setBaseWebViewClient(isSSlPinningEnable: Boolean = false) {
|
||||
binding.webView.webViewClient = BaseWebViewClient(this, isSSlPinningEnable)
|
||||
binding.webView.webChromeClient = BaseChromeWebViewClient(onJsConfirm, onJsAlert, onJsPrompt, onJsError)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package ru.touchin.roboswag.webview.web_view
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.Bitmap
|
||||
import android.net.Uri
|
||||
import android.net.http.SslError
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
|
|
@ -11,6 +13,7 @@ import android.webkit.WebResourceRequest
|
|||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import androidx.core.os.postDelayed
|
||||
import ru.touchin.extensions.openBrowser
|
||||
|
||||
open class BaseWebViewClient(private val callback: WebViewCallback, private val isSslPinningEnable: Boolean) : WebViewClient() {
|
||||
|
||||
|
|
@ -55,6 +58,7 @@ open class BaseWebViewClient(private val callback: WebViewCallback, private val
|
|||
}
|
||||
|
||||
override fun shouldOverrideUrlLoading(view: WebView, url: String?): Boolean {
|
||||
callback.onInsideWebViewRedirect(url)
|
||||
return !callback.onOverrideUrlLoading(url) && view.originalUrl != null
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package ru.touchin.roboswag.webview.web_view
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
|
||||
interface WebViewCallback {
|
||||
|
||||
fun onStateChanged(newState: WebViewLoadingState)
|
||||
|
|
@ -8,4 +10,6 @@ interface WebViewCallback {
|
|||
|
||||
fun onPageCookiesLoaded(cookies: Map<String, String>?)
|
||||
|
||||
fun onInsideWebViewRedirect(url:String?)
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue