|
@@ -3,6 +3,8 @@ package eu.kanade.tachiyomi
|
|
|
import android.app.Application
|
|
|
import android.content.Context
|
|
|
import android.content.res.Configuration
|
|
|
+import android.os.Build
|
|
|
+import android.webkit.WebView
|
|
|
import androidx.lifecycle.Lifecycle
|
|
|
import androidx.lifecycle.LifecycleObserver
|
|
|
import androidx.lifecycle.OnLifecycleEvent
|
|
@@ -43,6 +45,14 @@ open class App : Application(), LifecycleObserver {
|
|
|
LocaleHelper.updateConfiguration(this, resources.configuration)
|
|
|
|
|
|
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
|
|
|
+
|
|
|
+ // Avoid sharing WebView instance across multiple processes
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
|
|
+ val processName = getProcessName()
|
|
|
+ if (packageName != processName) {
|
|
|
+ WebView.setDataDirectorySuffix(processName)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
override fun attachBaseContext(base: Context) {
|
|
@@ -56,6 +66,7 @@ open class App : Application(), LifecycleObserver {
|
|
|
}
|
|
|
|
|
|
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
|
|
|
+ @Suppress("unused")
|
|
|
fun onAppBackgrounded() {
|
|
|
val preferences: PreferencesHelper by injectLazy()
|
|
|
if (preferences.lockAppAfter().getOrDefault() >= 0) {
|