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 ...@@ -37,6 +37,8 @@ import android.os.UserManager
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.content.getSystemService import androidx.core.content.getSystemService
import androidx.work.Configuration
import androidx.work.WorkManager
import com.crashlytics.android.Crashlytics import com.crashlytics.android.Crashlytics
import com.github.shadowsocks.acl.Acl import com.github.shadowsocks.acl.Acl
import com.github.shadowsocks.aidl.ShadowsocksConnection import com.github.shadowsocks.aidl.ShadowsocksConnection
...@@ -62,7 +64,7 @@ object Core { ...@@ -62,7 +64,7 @@ object Core {
lateinit var configureIntent: (Context) -> PendingIntent lateinit var configureIntent: (Context) -> PendingIntent
val connectivity by lazy { app.getSystemService<ConnectivityManager>()!! } val connectivity by lazy { app.getSystemService<ConnectivityManager>()!! }
val packageInfo: PackageInfo by lazy { getPackageInfo(app.packageName) } 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 analytics: FirebaseAnalytics by lazy { FirebaseAnalytics.getInstance(deviceStorage) }
val directBootSupported by lazy { val directBootSupported by lazy {
Build.VERSION.SDK_INT >= 24 && app.getSystemService<DevicePolicyManager>()?.storageEncryptionStatus == Build.VERSION.SDK_INT >= 24 && app.getSystemService<DevicePolicyManager>()?.storageEncryptionStatus ==
...@@ -103,6 +105,7 @@ object Core { ...@@ -103,6 +105,7 @@ object Core {
System.setProperty(DEBUG_PROPERTY_NAME, DEBUG_PROPERTY_VALUE_ON) System.setProperty(DEBUG_PROPERTY_NAME, DEBUG_PROPERTY_VALUE_ON)
Fabric.with(deviceStorage, Crashlytics()) // multiple processes needs manual set-up Fabric.with(deviceStorage, Crashlytics()) // multiple processes needs manual set-up
FirebaseApp.initializeApp(deviceStorage) FirebaseApp.initializeApp(deviceStorage)
WorkManager.initialize(deviceStorage, Configuration.Builder().build())
// handle data restored/crash // handle data restored/crash
if (Build.VERSION.SDK_INT >= 24 && DataStore.directBootAware && if (Build.VERSION.SDK_INT >= 24 && DataStore.directBootAware &&
......
...@@ -21,15 +21,15 @@ ...@@ -21,15 +21,15 @@
package com.github.shadowsocks.utils package com.github.shadowsocks.utils
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.annotation.TargetApi
import android.app.Application import android.app.Application
import android.content.Context import android.content.Context
import android.os.Build
import androidx.work.Configuration
@SuppressLint("Registered") @SuppressLint("Registered")
class DeviceStorageApp(context: Context) : Application(), Configuration.Provider { @TargetApi(24)
class DeviceStorageApp(context: Context) : Application() {
init { 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 ...@@ -37,6 +37,4 @@ class DeviceStorageApp(context: Context) : Application(), Configuration.Provider
* protected storage. * protected storage.
*/ */
override fun getApplicationContext() = this 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