package com.example.firstapp.core
|
|
import android.app.Application
|
import androidx.work.Configuration
|
import com.example.firstapp.App
|
import com.example.firstapp.database.repository.CodeRepository
|
import com.example.firstapp.database.repository.MsgRepository
|
|
import kotlinx.coroutines.launch
|
|
object Core : Configuration.Provider {
|
lateinit var app: Application
|
|
val msg: MsgRepository by lazy { (app as App).msgRepository }
|
val code: CodeRepository by lazy { (app as App).codeRepository }
|
|
fun init(app: Application) {
|
this.app = app
|
}
|
|
override fun getWorkManagerConfiguration(): Configuration {
|
return Configuration.Builder().apply {
|
setDefaultProcessName(app.packageName + ":bg")
|
// setMinimumLoggingLevel(if (BuildConfig.DEBUG) Log.VERBOSE else Log.INFO)
|
setExecutor { (app as App).applicationScope.launch { it.run() } }
|
setTaskExecutor { (app as App).applicationScope.launch { it.run() } }
|
}.build()
|
}
|
}
|