/* * Copyright (c) 2017 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com> * All Rights Reserved. */ package me.zhanghai.android.douya.item.ui; import android.support.v7.widget.RecyclerView; import me.zhanghai.android.douya.item.content.BaseItemResource; import me.zhanghai.android.douya.item.content.MovieResource; import me.zhanghai.android.douya.network.api.info.frodo.Movie; import me.zhanghai.android.douya.network.api.info.frodo.SimpleMovie; import me.zhanghai.android.douya.util.ImageUtils; import me.zhanghai.android.douya.util.ViewUtils; public class MovieFragment extends BaseItemFragment<SimpleMovie, Movie> { private MovieAdapter mAdapter; public static MovieFragment newInstance(long movieId, SimpleMovie simpleMovie, Movie movie) { //noinspection deprecation MovieFragment fragment = new MovieFragment(); fragment.setArguments(movieId, simpleMovie, movie); return fragment; } /** * @deprecated Use {@link #newInstance(long, SimpleMovie, Movie)} instead. */ public MovieFragment() {} @Override protected BaseItemResource<SimpleMovie, Movie> onAttachItemResource(long movieId, SimpleMovie simpleMovie, Movie movie) { return MovieResource.attachTo(movieId, simpleMovie, movie, this); } @Override protected RecyclerView.Adapter<?> onCreateAdapter() { mAdapter = new MovieAdapter(); return mAdapter; } @Override public void updateWithItem(Movie movie) { super.updateWithItem(movie); boolean hasTrailer = movie.trailer != null; if (hasTrailer) { ImageUtils.loadImage(mBackdropImage, movie.trailer.coverUrl); } else if (movie.poster != null) { ImageUtils.loadImage(mBackdropImage, movie.poster); } else { ImageUtils.loadImage(mBackdropImage, movie.cover); } ViewUtils.setVisibleOrGone(mBackdropPlayImage, hasTrailer); mAdapter.setData(new MovieAdapter.Data(movie)); } @Override public void updateWithSimpleItem(SimpleMovie simpleMovie) { super.updateWithSimpleItem(simpleMovie); // FIXME: Remove, this is only for testing. ImageUtils.loadImage(mBackdropImage, simpleMovie.cover); ViewUtils.setVisibleOrGone(mBackdropPlayImage, false); } }