Skip to content

Instantly share code, notes, and snippets.

@fnk0
Last active October 17, 2016 05:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fnk0/ce780d08a2087ac47cc1fdc7dc95f314 to your computer and use it in GitHub Desktop.
Save fnk0/ce780d08a2087ac47cc1fdc7dc95f314 to your computer and use it in GitHub Desktop.
Adding recommendations row
public class MovieDetailsFragment extends DetailsFragment implements Palette.PaletteAsyncListener {
...
ArrayObjectAdapter mRecommendationsAdapter = new ArrayObjectAdapter(new MoviePresenter());
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
setupRecommendationsRow();
}
...
private void setupRecommendationsRow() {
mAdapter.add(new ListRow(new HeaderItem(2, "Recommendations"), mRecommendationsAdapter));
fetchRecommendations();
}
private void fetchRecommendations() {
mDbAPI.getRecommendations(movie.getId(), Config.API_KEY_URL)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(this::bindRecommendations, e -> {
Timber.e(e, "Error fetching recommendations: %s", e.getMessage());
});
}
private void bindRecommendations(MovieResponse response) {
mRecommendationsAdapter.addAll(0, response.getResults());
}
...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment