Size: a a a

Android Developers

2020 August 13

d

danilshik in Android Developers
Roman Chumachenko
Так что репозиторий сможет сделать? Я возвращаю observable из репы, в репе я могу ошибки либо заменить уже на свои, либо обернуть в некоторый обьект, который будет сигналить про проблемы
в репе ты должны вместе с данными передавать состояние запроса вот и все. Успех, Ошибка
источник

RC

Roman Chumachenko in Android Developers
danilshik
в репе ты должны вместе с данными передавать состояние запроса вот и все. Успех, Ошибка
Я это и говорю. И вот приходит тебе стейт "Ошибка подключения", что ты с этим будешь делать в DataSource?
источник

d

danilshik in Android Developers
Roman Chumachenko
Я это и говорю. И вот приходит тебе стейт "Ошибка подключения", что ты с этим будешь делать в DataSource?
Упакую в тот или иной Result и проброшу в ViewModel / Presenter,
источник

RC

Roman Chumachenko in Android Developers
danilshik
Упакую в тот или иной Result и проброшу в ViewModel / Presenter,
Воот, мне интересно, как ты из DataSource отдаешь это во ViewModel?
источник

DU

Dmitry Upovalov in Android Developers
Roman Chumachenko
Воот, мне интересно, как ты из DataSource отдаешь это во ViewModel?
как результат (result) можно возвращать
источник

RC

Roman Chumachenko in Android Developers
Dmitry Upovalov
как результат (result) можно возвращать
Я пока делал PublishSubject состояний, держал его в фабрике датасорсов и выдавал через фабрику и новым сорсам, и ViewModel. Но мне кажется, что это криво
источник

DU

Dmitry Upovalov in Android Developers
Roman Chumachenko
Я пока делал PublishSubject состояний, держал его в фабрике датасорсов и выдавал через фабрику и новым сорсам, и ViewModel. Но мне кажется, что это криво
ты держал специальный сабжект для ошибок?
источник

RC

Roman Chumachenko in Android Developers
Dmitry Upovalov
ты держал специальный сабжект для ошибок?
Не совсем тебя понял, просто отдельный сабджект, да
источник

DU

Dmitry Upovalov in Android Developers
ну вроде нет ничего криминального в таком подходе. только я бы возвращал это не в "отдельный" сабжект, а туда же, куда возвращаются данные в случае успеха.
источник

RC

Roman Chumachenko in Android Developers
Dmitry Upovalov
как результат (result) можно возвращать
Ты ошибки вниз роутил через loadNext(params, callback)?
источник

RC

Roman Chumachenko in Android Developers
Dmitry Upovalov
ну вроде нет ничего криминального в таком подходе. только я бы возвращал это не в "отдельный" сабжект, а туда же, куда возвращаются данные в случае успеха.
Да вот мне так же хотелось бы попробовать, только все не пойму, куда возвращать
источник

DU

Dmitry Upovalov in Android Developers
Roman Chumachenko
Ты ошибки вниз роутил через loadNext(params, callback)?
про paging другой коллега писал ) я говорю про передачу от datasource до viemodel. а как в  paging отдавать - отдельный вопрос
источник

RC

Roman Chumachenko in Android Developers
Dmitry Upovalov
про paging другой коллега писал ) я говорю про передачу от datasource до viemodel. а как в  paging отдавать - отдельный вопрос
А бог с ним, с paging, как у тебя с datasource спускалась ошибка?)
источник

DU

Dmitry Upovalov in Android Developers
Roman Chumachenko
А бог с ним, с paging, как у тебя с datasource спускалась ошибка?)
мне проще представлять datasource снизу 🙂
если я правильно понял, то ты же через сабжект их прокидывашь? ты хочешь какие-то альтернативные способы узнать? или я не понял вопрос
источник

RC

Roman Chumachenko in Android Developers
Dmitry Upovalov
мне проще представлять datasource снизу 🙂
если я правильно понял, то ты же через сабжект их прокидывашь? ты хочешь какие-то альтернативные способы узнать? или я не понял вопрос
Да-да, все так, альтернативу сабжектам
источник

RC

Roman Chumachenko in Android Developers
Dmitry Upovalov
мне проще представлять datasource снизу 🙂
если я правильно понял, то ты же через сабжект их прокидывашь? ты хочешь какие-то альтернативные способы узнать? или я не понял вопрос
Думал как-то через колбэки, что в datasource передаются, можно
источник

d

danilshik in Android Developers
Roman Chumachenko
Воот, мне интересно, как ты из DataSource отдаешь это во ViewModel?
У меня есть класс обертка, которая имеет 4 состояния: Success, Error, FatalError, ErrorInternet.
в зависимости от состояния я пробрасывают либо data, либо message, либо error
источник

DU

Dmitry Upovalov in Android Developers
Roman Chumachenko
Да-да, все так, альтернативу сабжектам
ну например с Rx:
Single<Result<SomeData>> getSomeData();
источник

DU

Dmitry Upovalov in Android Developers
Roman Chumachenko
Да-да, все так, альтернативу сабжектам
тут надо смотреть как ты данные в случае успеха возвращаешь
источник

RC

Roman Chumachenko in Android Developers
Dmitry Upovalov
тут надо смотреть как ты данные в случае успеха возвращаешь
Я думал, что для корректной работы пагинации, нужно отдавать в коллбэк, что передается в методы datasource. В итоге туда данные и отдавал в случае успеха
источник