use of me.zhanghai.android.douya.network.api.info.frodo.Photo in project Douya by DreaminginCodeZH.
the class BaseItemDataAdapter method bindPhotoListHolder.
protected void bindPhotoListHolder(RecyclerView.ViewHolder holder, T item, List<Photo> photoList, boolean excludeFirstPhoto) {
PhotoListHolder photoListHolder = (PhotoListHolder) holder;
List<Photo> originalPhotoList = photoList;
if (excludeFirstPhoto) {
photoList = photoList.subList(1, photoList.size());
}
ViewUtils.setVisibleOrGone(photoListHolder.photoList, !photoList.isEmpty());
HorizontalImageAdapter adapter = (HorizontalImageAdapter) photoListHolder.photoList.getAdapter();
adapter.replace(photoList);
Context context = RecyclerViewUtils.getContext(holder);
adapter.setOnItemClickListener((parent, itemView, item_, photoPosition) -> {
if (excludeFirstPhoto) {
++photoPosition;
}
// TODO: Use PhotoAlbumGalleryActivity instead.
context.startActivity(GalleryActivity.makeImageListIntent(originalPhotoList, photoPosition, context));
});
photoListHolder.viewMoreButton.setOnClickListener(view -> {
// TODO
UriHandler.open(item.url + "photos", context);
});
}
use of me.zhanghai.android.douya.network.api.info.frodo.Photo in project Douya by DreaminginCodeZH.
the class MovieFragment method update.
private void update(Movie movie, Rating rating, List<Photo> photoList, List<SimpleCelebrity> celebrityList, List<ItemAwardItem> awardList, List<SimpleItemCollection> itemCollectionList, List<SimpleReview> reviewList, List<SimpleItemForumTopic> forumTopicList, List<CollectableItem> recommendationList, List<Doulist> relatedDoulistList) {
if (movie != null) {
super.updateWithSimpleItem(movie);
}
if (movie == null || photoList == null) {
return;
}
if (!mBackdropBound) {
boolean hasTrailer = movie.trailer != null;
mExcludeFirstPhoto = false;
String backdropUrl = null;
if (hasTrailer) {
backdropUrl = movie.trailer.coverUrl;
mBackdropLayout.setOnClickListener(view -> {
// TODO
UriHandler.open(movie.trailer.videoUrl, view.getContext());
});
} else if (!photoList.isEmpty()) {
backdropUrl = photoList.get(0).getLargeUrl();
mExcludeFirstPhoto = true;
mBackdropLayout.setOnClickListener(view -> {
// TODO
Context context = view.getContext();
context.startActivity(GalleryActivity.makeImageListIntent(photoList, 0, context));
});
} else if (movie.poster != null) {
backdropUrl = movie.poster.getLargeUrl();
mBackdropLayout.setOnClickListener(view -> {
// TODO
Context context = view.getContext();
context.startActivity(GalleryActivity.makeIntent(movie.poster, context));
});
} else if (movie.cover != null) {
backdropUrl = movie.cover.getLargeUrl();
mBackdropLayout.setOnClickListener(view -> {
// TODO
Context context = view.getContext();
context.startActivity(GalleryActivity.makeIntent(movie.cover, context));
});
}
if (backdropUrl != null) {
ImageUtils.loadItemBackdropAndFadeIn(mBackdropImage, backdropUrl, hasTrailer ? mBackdropPlayImage : null);
} else {
mBackdropImage.setBackgroundColor(movie.getThemeColor());
ViewUtils.fadeIn(mBackdropImage);
}
mBackdropBound = true;
}
mAdapter.setData(new MovieDataAdapter.Data(movie, rating, photoList, mExcludeFirstPhoto, celebrityList, awardList, itemCollectionList, reviewList, forumTopicList, recommendationList, relatedDoulistList));
if (mAdapter.getItemCount() > 0) {
mContentStateLayout.setLoaded(true);
}
}
use of me.zhanghai.android.douya.network.api.info.frodo.Photo in project Douya by DreaminginCodeZH.
the class GameFragment method update.
private void update(Game game, Rating rating, List<Photo> photoList, List<SimpleItemCollection> itemCollectionList, List<SimpleReview> gameGuideList, List<SimpleReview> reviewList, List<SimpleItemForumTopic> forumTopicList, List<CollectableItem> recommendationList, List<Doulist> relatedDoulistList) {
if (game != null) {
super.updateWithSimpleItem(game);
}
if (game == null || photoList == null) {
return;
}
if (!mBackdropBound) {
// TODO: Add game videos like movie trailer.
mExcludeFirstPhoto = false;
String backdropUrl = null;
if (!photoList.isEmpty()) {
backdropUrl = photoList.get(0).getLargeUrl();
mExcludeFirstPhoto = true;
mBackdropLayout.setOnClickListener(view -> {
// TODO
Context context = view.getContext();
context.startActivity(GalleryActivity.makeImageListIntent(photoList, 0, context));
});
} else if (game.cover != null) {
backdropUrl = game.cover.getLargeUrl();
mBackdropLayout.setOnClickListener(view -> {
// TODO
Context context = view.getContext();
context.startActivity(GalleryActivity.makeIntent(game.cover, context));
});
}
if (backdropUrl != null) {
ImageUtils.loadItemBackdropAndFadeIn(mBackdropImage, backdropUrl, null);
} else {
mBackdropImage.setBackgroundColor(game.getThemeColor());
ViewUtils.fadeIn(mBackdropImage);
}
mBackdropBound = true;
}
mAdapter.setData(new GameDataAdapter.Data(game, rating, photoList, mExcludeFirstPhoto, itemCollectionList, gameGuideList, reviewList, forumTopicList, recommendationList, relatedDoulistList));
if (mAdapter.getItemCount() > 0) {
mContentStateLayout.setLoaded(true);
}
}
use of me.zhanghai.android.douya.network.api.info.frodo.Photo in project Douya by DreaminginCodeZH.
the class BasePhotoListResource method onPhotoDeleted.
@Subscribe(threadMode = ThreadMode.POSTING)
public void onPhotoDeleted(PhotoDeletedEvent event) {
if (event.isFromMyself(this) || isEmpty()) {
return;
}
List<Photo> photoList = get();
for (int i = 0, size = photoList.size(); i < size; ) {
Photo photo = photoList.get(i);
if (photo.id == event.photoId) {
photoList.remove(i);
getListener().onPhotoRemoved(getRequestCode(), i);
--size;
} else {
++i;
}
}
}
Aggregations