@@ -5,24 +5,29 @@ import android.app.Application
55import android.database.CursorWindow
66import android.os.StrictMode
77import android.os.StrictMode.VmPolicy
8+ import androidx.work.Configuration
9+ import androidx.work.WorkManager
810import com.shifthackz.aisdv1.app.di.featureModule
911import com.shifthackz.aisdv1.app.di.preferenceModule
1012import com.shifthackz.aisdv1.app.di.providersModule
1113import com.shifthackz.aisdv1.core.common.log.FileLoggingTree
1214import com.shifthackz.aisdv1.core.common.log.errorLog
1315import com.shifthackz.aisdv1.core.imageprocessing.di.imageProcessingModule
16+ import com.shifthackz.aisdv1.core.notification.di.notificationModule
1417import com.shifthackz.aisdv1.core.validation.di.validatorsModule
1518import com.shifthackz.aisdv1.data.di.dataModule
1619import com.shifthackz.aisdv1.demo.di.demoModule
1720import com.shifthackz.aisdv1.domain.di.domainModule
1821import com.shifthackz.aisdv1.network.di.networkModule
1922import com.shifthackz.aisdv1.presentation.di.presentationModule
2023import com.shifthackz.aisdv1.storage.di.databaseModule
24+ import com.shifthackz.aisdv1.work.di.SdaiWorkerFactory
25+ import com.shifthackz.aisdv1.work.di.backgroundWorkModule
26+ import org.koin.android.ext.android.inject
2127import org.koin.android.ext.koin.androidContext
2228import org.koin.core.context.startKoin
2329import timber.log.Timber
2430
25-
2631class AiStableDiffusionClientApp : Application () {
2732
2833 override fun onCreate () {
@@ -32,6 +37,7 @@ class AiStableDiffusionClientApp : Application() {
3237 initializeKoin()
3338 initializeLogging()
3439 initializeCursorSize()
40+ initializeWorkManager()
3541 }
3642
3743 /* *
@@ -53,12 +59,14 @@ class AiStableDiffusionClientApp : Application() {
5359 private fun initializeKoin () = startKoin {
5460 androidContext(this @AiStableDiffusionClientApp)
5561 modules(
62+ notificationModule,
5663 demoModule,
5764 * featureModule,
5865 preferenceModule,
5966 providersModule,
6067 * domainModule,
6168 * dataModule,
69+ backgroundWorkModule,
6270 networkModule,
6371 databaseModule,
6472 validatorsModule,
@@ -73,4 +81,17 @@ class AiStableDiffusionClientApp : Application() {
7381 }
7482 Timber .plant(FileLoggingTree ())
7583 }
84+
85+ private fun initializeWorkManager () {
86+ try {
87+ val workerFactory: SdaiWorkerFactory by inject()
88+ val configuration = Configuration .Builder ()
89+ .setWorkerFactory(workerFactory)
90+ .build()
91+
92+ WorkManager .initialize(this , configuration)
93+ } catch (e: Exception ) {
94+ errorLog(e)
95+ }
96+ }
7697}
0 commit comments