fix workmanager crashing because of async initialization (#2003)
This commit is contained in:
parent
9793035a3d
commit
a9337bcb78
|
@ -29,11 +29,9 @@ import com.keylesspalace.tusky.util.EmojiCompatFont
|
||||||
import com.keylesspalace.tusky.util.LocaleManager
|
import com.keylesspalace.tusky.util.LocaleManager
|
||||||
import com.keylesspalace.tusky.util.ThemeUtils
|
import com.keylesspalace.tusky.util.ThemeUtils
|
||||||
import com.uber.autodispose.AutoDisposePlugins
|
import com.uber.autodispose.AutoDisposePlugins
|
||||||
import dagger.Lazy
|
|
||||||
import dagger.android.DispatchingAndroidInjector
|
import dagger.android.DispatchingAndroidInjector
|
||||||
import dagger.android.HasAndroidInjector
|
import dagger.android.HasAndroidInjector
|
||||||
import io.reactivex.plugins.RxJavaPlugins
|
import io.reactivex.plugins.RxJavaPlugins
|
||||||
import io.reactivex.schedulers.Schedulers
|
|
||||||
import org.conscrypt.Conscrypt
|
import org.conscrypt.Conscrypt
|
||||||
import java.security.Security
|
import java.security.Security
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
@ -44,7 +42,7 @@ class TuskyApplication : Application(), HasAndroidInjector {
|
||||||
lateinit var androidInjector: DispatchingAndroidInjector<Any>
|
lateinit var androidInjector: DispatchingAndroidInjector<Any>
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var notificationWorkerFactory: Lazy<NotificationWorkerFactory>
|
lateinit var notificationWorkerFactory: NotificationWorkerFactory
|
||||||
|
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
// Uncomment me to get StrictMode violation logs
|
// Uncomment me to get StrictMode violation logs
|
||||||
|
@ -82,16 +80,13 @@ class TuskyApplication : Application(), HasAndroidInjector {
|
||||||
Log.w("RxJava", "undeliverable exception", it)
|
Log.w("RxJava", "undeliverable exception", it)
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will initialize the whole network stack and cache so we don't wan to wait for it
|
|
||||||
Schedulers.computation().scheduleDirect {
|
|
||||||
WorkManager.initialize(
|
WorkManager.initialize(
|
||||||
this,
|
this,
|
||||||
androidx.work.Configuration.Builder()
|
androidx.work.Configuration.Builder()
|
||||||
.setWorkerFactory(notificationWorkerFactory.get())
|
.setWorkerFactory(notificationWorkerFactory)
|
||||||
.build()
|
.build()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
override fun attachBaseContext(base: Context) {
|
override fun attachBaseContext(base: Context) {
|
||||||
localeManager = LocaleManager(base)
|
localeManager = LocaleManager(base)
|
||||||
|
|
Loading…
Reference in New Issue