diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index ec7960a8b..ff9fc2b95 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt @@ -9,6 +9,7 @@ import android.content.Intent import android.content.IntentFilter import android.content.res.Configuration import android.os.Build +import android.webkit.WebView import androidx.core.app.NotificationManagerCompat import androidx.core.content.getSystemService import androidx.lifecycle.Lifecycle @@ -56,6 +57,12 @@ open class App : Application(), LifecycleObserver, ImageLoaderFactory { 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)) setupAcra() diff --git a/app/src/main/java/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt b/app/src/main/java/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt index ab1666b22..2849d3ed2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt @@ -153,6 +153,7 @@ class CloudflareInterceptor(private val context: Context) : Interceptor { webView?.stopLoading() webView?.destroy() + webView = null } // Throw exception if we failed to bypass Cloudflare