Странный вопрос о WorkManager
val testWorker = OneTimeWorkRequestBuilder<TestWorker2>().build()
WorkManager.getInstance(this).getWorkInfoByIdLiveData(testWorker.id).observe(this,
Observer { workInfo ->
workInfo?.let {
var process = it.progress.getInt("Process", 0)
Log.i(TAG, process.toString())
}
})
WorkManager.getInstance(this).enqueue(testWorker)
class TestWorker2(appContext: Context, workerParams: WorkerParameters) :
CoroutineWorker(appContext, workerParams) {
override suspend fun doWork(): Result {
setProgress(workDataOf("Process" to 50))
delay(1000L)
setProgress(workDataOf("Process" to 100))
return Result.success()
}
}
Результат печати
com.android.jetpack.workmanager I/MainActivity: 0
com.android.jetpack.workmanager I/MainActivity: 0
com.android.jetpack.workmanager I/MainActivity: 50
com.android.jetpack.workmanager I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=631a6764-4432-4353-8341-33b3d7a472a4, tags={ com.android.jetpack.workmanager.MainActivity$TestWorker2 } ]
com.android.jetpack.workmanager I/MainActivity: 0
Последний прогресс (100) не печатается, почему такой результат? кто-нибудь знает причину?