169 похожих чатов

Парни, помогите плиз, не работает ворк менеджер open class DatabaseWorker constructor(

context: Context,
workerParameters: WorkerParameters,
private val database: IDataBaseRepository,
) : CoroutineWorker(context, workerParameters) {
private val serviceJob = Job()
private val serviceScope = CoroutineScope(Dispatchers.IO + serviceJob)
val time: Long = TimeStamp.getCurrentTimeStamp().time
override suspend fun doWork(): Result {
Timber.v("DatabaseWorker started!")
database.deleteOldNotes(time)
return Result.success()
}

companion object {
const val TAG = "DatabaseWorker"
}
}

class DatabaseWorkerFactory @Inject constructor(
private val iDataBaseRepository: IDataBaseRepository
) : WorkerFactory() {

override fun createWorker(
appContext: Context,
workerClassName: String,
workerParameters: WorkerParameters
): ListenableWorker? {

return when (workerClassName) {
DatabaseWorker::class.java.name ->
DatabaseWorker(appContext, workerParameters, iDataBaseRepository)
else ->
// Return null, so that the base class can delegate to the default WorkerFactory.
null
}
}
}

@Module
class WorkerModule {

@Singleton
@Provides
fun provideWorkManagerConfiguration(
databaseWorkerFactory: DatabaseWorkerFactory
): Configuration {
return Configuration.Builder()
.setMinimumLoggingLevel(android.util.Log.DEBUG)
.setWorkerFactory(databaseWorkerFactory)
.build()
}

@Singleton
class IDatabaseWorkerWorkerFactory @Inject constructor(
databaseRep: IDataBaseRepository
) : DelegatingWorkerFactory() {
init {
addFactory(DatabaseWorkerFactory(databaseRep))
}
}
}

@Singleton
@Component(
modules = [
AppModule::class,
BuilderModule::class,
CommonUiModule::class,
DatabaseModule::class,
NetworkModule::class,
PreferencesModule::class,
RepositoryModule::class,
WorkerModule::class,
]
)
....



class App : Application(), Configuration.Provider {
val appComponent: AppComponent by lazy { DaggerAppComponent.factory().create(this) }
override fun onCreate() {
super.onCreate()
Timber.plant(Timber.DebugTree())
appComponent.inject(this)
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
}

@Inject
lateinit var workerConfiguration: Configuration

// Setup custom configuration for WorkManager with a DelegatingWorkerFactory
override fun getWorkManagerConfiguration(): Configuration {
WorkManager.getInstance(this).enqueue(
PeriodicWorkRequestBuilder<DatabaseWorker>(10, TimeUnit.SECONDS).addTag(
DatabaseWorker.TAG
).build()
)
return workerConfiguration
}
}

7 ответов

29 просмотров

Вы бы хоть ошибку написали )

Gleb-Mikhailov Автор вопроса
DarkPerl
Вы бы хоть ошибку написали )

а ее нет) просто не подключается и все)

Gleb-Mikhailov Автор вопроса
DarkPerl
Ух ты ))))

я все расписал где он применяется, по идее что то еще нужно добавить

Gleb Mikhailov
я все расписал где он применяется, по идее что то ...

Попробуйте запустить под отладчиком и посмотреть ) Так глядя в код не видно )

Gleb-Mikhailov Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта