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 ответов

13 просмотров

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

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

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

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

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

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

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

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

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

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

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
10
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта