-
Переведите сетевой запрос с
retrofit.Call
на RX цепочку. Для этого подключите Retrofit адаптер, поменяйте возвращаемые типы функций -
Поменяйте логику в
CatsViewModel.kt
с колбеков на RX. Логику обработки успеха/ошибки из коллбека необходимо перенести в терминальные коллбеки RX цепочки. Не забудьте очистить подписки когдаViewModel
уничтожается -
Реализуйте функцию
otus.homework.reactivecats.LocalCatFactsGenerator#generateCatFact
, так, чтобы она возвращалаFact
со случайной строкой из массива строкR.array.local_cat_facts
обернутую в подходящий стрим(Flowable
/Single
/Observable
и т.п) -
Реализуйте функцию
otus.homework.reactivecats.LocalCatFactsGenerator#generateCatFactPeriodically
так, чтобы она эмитилаFact
со случайной строкой из массива строкR.array.local_cat_facts
каждые 2000 миллисекунд. Если вновь заэмиченный Fact совпадает с предыдущим - пропускаем элемент. -
Реализуйте функцию
otus.homework.reactivecats.CatsViewModel#getFacts
следующим образом: каждые 2 секунды идем в сеть за новым фактом, если сетевой запрос завершился неуспешно, то в качестве фоллбека идем за фактом в уже реализованныйotus.homework.reactivecats.LocalCatFactsGenerator#generateCatFact
.
forked from Otus-Android/HomeWork_06
-
Notifications
You must be signed in to change notification settings - Fork 0
Victor1291/HomeWork_06
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Kotlin 100.0%