Slide 42
Slide 42 text
SHIBUYA.APK #7 (2016-05-09)
ONE MORE STEP - REPOSITORY CHAIN
// Repository to store the entire list
final Repository>> tweetsRepository =
Repositories.repositoryWithInitialValue(Result.>absent())
.observe(tweetsSearchRepository)
.onUpdatesPerLoop()
.thenMergeIn(tweetsSearchRepository, (current, searchResult) -> {
if (current.isAbsent() || current.failed()) {
return searchResult;
}.
final List ls = new ArrayList<>(current.get());
if (searchResult.succeeded()) {
ls.addAll(searchResult.get());
}.
return Result.success(ls);
})
.compile();
listAdapter = RepositoryAdapter.repositoryAdapter()
.add(tweetsRepository, new TweetPresenter())
.build();
list.setAdapter(listAdapter);