Сбой внедрения конструктора Android WorkRequest
У меня есть класс, который расширяет Worker
учебный класс. Я хочу, чтобы этот класс сделал запрос API через Repository
например, каждый час. Проблема в том, что мне нужно как-то Repository
и я подумал ввести его через конструктор (я использую koin). Проблема в том, что когда мой WorkRequest
класс создается, его статус всегда FAILED
и я вижу следующую ошибку:
2018-08-05 14:21:54.252 19213-19634/E/WorkerWrapper: Trouble instantiating PortfolioChangesWorker
java.lang.InstantiationException: java.lang.Class<PortfolioChangesWorker> has no zero argument constructor
at java.lang.Class.newInstance(Native Method)
at androidx.work.impl.WorkerWrapper.workerFromClassName(WorkerWrapper.java:496)
at androidx.work.impl.WorkerWrapper.workerFromWorkSpec(WorkerWrapper.java:468)
at androidx.work.impl.WorkerWrapper.runWorker(WorkerWrapper.java:173)
at androidx.work.impl.WorkerWrapper.run(WorkerWrapper.java:105)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
2018-08-05 14:21:54.253 19213-19634/E/WorkerWrapper: Could for create Worker PortfolioChangesWorker
Вот что я имею в качестве конструктора моего рабочего класса:
class PortfolioChangesWorker(val repository: CoinRepository) : Worker()
И в одном из моих модулей Коин у меня есть:
bean { PortfolioChangesWorker(repository = get()) }
Есть ли какой-либо другой способ ввести зависимости в WorkRequest
учебный класс? Есть ли другой способ добиться этого?
Заранее спасибо!