Try to avoid some Webview-related crashes

Related to #5218
This commit is contained in:
arkon 2021-05-28 22:34:26 -04:00
parent 9de07c11a6
commit 3d9383ce67
2 changed files with 8 additions and 0 deletions

View file

@ -9,6 +9,7 @@ import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.content.res.Configuration import android.content.res.Configuration
import android.os.Build import android.os.Build
import android.webkit.WebView
import androidx.core.app.NotificationManagerCompat import androidx.core.app.NotificationManagerCompat
import androidx.core.content.getSystemService import androidx.core.content.getSystemService
import androidx.lifecycle.Lifecycle import androidx.lifecycle.Lifecycle
@ -56,6 +57,12 @@ open class App : Application(), LifecycleObserver, ImageLoaderFactory {
Security.insertProviderAt(Conscrypt.newProvider(), 1) Security.insertProviderAt(Conscrypt.newProvider(), 1)
} }
// Avoid potential crashes
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
val process = getProcessName()
if (packageName != process) WebView.setDataDirectorySuffix(process)
}
Injekt.importModule(AppModule(this)) Injekt.importModule(AppModule(this))
setupAcra() setupAcra()

View file

@ -153,6 +153,7 @@ class CloudflareInterceptor(private val context: Context) : Interceptor {
webView?.stopLoading() webView?.stopLoading()
webView?.destroy() webView?.destroy()
webView = null
} }
// Throw exception if we failed to bypass Cloudflare // Throw exception if we failed to bypass Cloudflare