и уже загруженые данные - это задача репозитория? или презентера?
Только что писал пагинатор. Презентер же ничего не хранит, а только управляет вью и реагирует на неё. Если кэш нужен, то это уже в репозитории. Насчет текущей страницы: передаю в пагинатор, который в интеракторе currentCount и след страницу гружу через currentCount/pageSize+1.
Я воспринимаю это так: - бизнес логике все равно, как там у вас работает экран - вса сразу грузит, или частями, или просто отображает только первую страницу и все. Это логика отображения. В бизнес логике будет обработка данных и принятие решений на их основе, либо на основе ошибок. - презентер знает сколько данных было загружено и сейчас отображается. (ведь по идее всегда можно взять у адаптера количество элементов, но лучше самому следить за этим количеством) Это его зона ответственности. Поэтому когда скрол дошел до конца, вью кидает презентеру сообщение об этом: onLastElement(), а презентер на основе своих данных говорит интерактору "у меня есть столько-то элементов. хочу еще"
В шапке есть видео о архитектуре, там хорошо представлен кейс с пагинацией у списка, может чего подчерпнуть удастся
ближе к модели скорее, то есть, если есть - интерактор/UseCase. Но это в том случае, когда у вас не обычный случай с endless списком, а что-то, что требует копию списка в уровне логики. Фактически, достаточно в 99% случаев скинуть задачу хранения данных загруженных на RecyclerView.Adapter
Обсуждают сегодня