Fix crashes below L

This commit is contained in:
inorichi 2019-04-03 09:47:07 +02:00
parent ecc1520100
commit bf60aae9d8
2 changed files with 12 additions and 9 deletions

View file

@ -14,6 +14,13 @@ class AndroidCookieJar(context: Context) : CookieJar {
private val syncManager by lazy { CookieSyncManager.createInstance(context) }
init {
// Init sync manager when using anything below L
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
syncManager
}
}
override fun saveFromResponse(url: HttpUrl, cookies: MutableList<Cookie>) {
val urlString = url.toString()

View file

@ -101,13 +101,14 @@ class CloudflareInterceptor(private val context: Context) : Interceptor {
}
override fun onPageFinished(view: WebView, url: String) {
if (url == origRequestUrl) {
// Http error codes are only received since M
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
url == origRequestUrl && !challengeFound
) {
// The first request didn't return the challenge, abort.
if (!challengeFound) {
latch.countDown()
}
}
}
override fun onReceivedErrorCompat(
view: WebView,
@ -125,11 +126,6 @@ class CloudflareInterceptor(private val context: Context) : Interceptor {
latch.countDown()
}
}
// Any error on the main frame that isn't the Cloudflare check should unlock
// OkHttp's thread.
if (errorCode != 503 && isMainFrame) {
latch.countDown()
}
}
}
webView?.loadUrl(origRequestUrl, headers)