Commit 3630514a authored by Mygod's avatar Mygod

Revert "Late init WorkManager"

This reverts commit 33e5d4dd.

This fixes crashes caused by receivers.
parent 290aa646
......@@ -37,6 +37,8 @@ import android.os.UserManager
import androidx.annotation.RequiresApi
import androidx.core.content.ContextCompat
import androidx.core.content.getSystemService
import androidx.work.Configuration
import androidx.work.WorkManager
import com.crashlytics.android.Crashlytics
import com.github.shadowsocks.acl.Acl
import com.github.shadowsocks.aidl.ShadowsocksConnection
......@@ -62,7 +64,7 @@ object Core {
lateinit var configureIntent: (Context) -> PendingIntent
val connectivity by lazy { app.getSystemService<ConnectivityManager>()!! }
val packageInfo: PackageInfo by lazy { getPackageInfo(app.packageName) }
val deviceStorage by lazy { DeviceStorageApp(app) }
val deviceStorage by lazy { if (Build.VERSION.SDK_INT < 24) app else DeviceStorageApp(app) }
val analytics: FirebaseAnalytics by lazy { FirebaseAnalytics.getInstance(deviceStorage) }
val directBootSupported by lazy {
Build.VERSION.SDK_INT >= 24 && app.getSystemService<DevicePolicyManager>()?.storageEncryptionStatus ==
......@@ -103,6 +105,7 @@ object Core {
System.setProperty(DEBUG_PROPERTY_NAME, DEBUG_PROPERTY_VALUE_ON)
Fabric.with(deviceStorage, Crashlytics()) // multiple processes needs manual set-up
FirebaseApp.initializeApp(deviceStorage)
WorkManager.initialize(deviceStorage, Configuration.Builder().build())
// handle data restored/crash
if (Build.VERSION.SDK_INT >= 24 && DataStore.directBootAware &&
......
......@@ -21,15 +21,15 @@
package com.github.shadowsocks.utils
import android.annotation.SuppressLint
import android.annotation.TargetApi
import android.app.Application
import android.content.Context
import android.os.Build
import androidx.work.Configuration
@SuppressLint("Registered")
class DeviceStorageApp(context: Context) : Application(), Configuration.Provider {
@TargetApi(24)
class DeviceStorageApp(context: Context) : Application() {
init {
attachBaseContext(if (Build.VERSION.SDK_INT >= 24) context.createDeviceProtectedStorageContext() else context)
attachBaseContext(context.createDeviceProtectedStorageContext())
}
/**
......@@ -37,6 +37,4 @@ class DeviceStorageApp(context: Context) : Application(), Configuration.Provider
* protected storage.
*/
override fun getApplicationContext() = this
override fun getWorkManagerConfiguration() = Configuration.Builder().build()
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment