Пропуски Middle Многопоточность и WorkManager обновлено

Допиши CoroutineWorker

Вопрос

Допиши воркер синхронизации с повтором при сетевой ошибке.

class SyncWorker(ctx: Context, params: WorkerParameters) : __(1)__(ctx, params) {
    override suspend fun doWork(): Result = try {
        repository.sync()
        Result.__(2)__()
    } catch (e: IOException) {
        Result.__(3)__()
    }
}

Попробуйте сами

Заполните пропуски по номерам.

1
2
3
Показать ответ и разбор

Коротко

CoroutineWorker позволяет писать doWork как suspend-функцию. Result.success() завершает работу, Result.retry() просит WorkManager повторить её с заданной политикой backoff, Result.failure() завершает с ошибкой без повтора.

Что в пропусках

1

CoroutineWorker

2

success

3

retry

Разбор

CoroutineWorker позволяет писать doWork как suspend-функцию. Result.success() завершает работу, Result.retry() просит WorkManager повторить её с заданной политикой backoff, Result.failure() завершает с ошибкой без повтора.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.