Отправить назад прогресс для Android WorkManager - PullRequest
0 голосов
/ 06 января 2019

Я использую Android WorkManager version 1.0.0-beta-01 для загрузки некоторых файлов на сервер. Теперь я хочу отправить ход выполнения загрузки (и не только конечный результат) вызывающей стороне.

class UploadWorker @Inject constructor(context: Application,
                                   parameters: WorkerParameters,
                                   private val uploadService: UploadService)
: RxWorker(context, parameters) {
    @SuppressLint("CheckResult")
    override fun createWork(): Single<Result> {
        val filePath = inputData.getString(FILE_PATH)

        //logic for sending files goes here where I want to send back the progress

        return Single.just(Result.success())
    }
}

Я могу добиться этого, имея в своем приложении одноэлементный объект с LiveData, затем обновлять LiveData из моей работы и прослушивать его в вызывающей программе, но это не кажется хорошим решением! Есть ли лучший способ добиться этого?

...