use of me.zhanghai.android.douya.network.api.info.frodo.SimpleItemCollection in project Douya by DreaminginCodeZH.
the class BaseItemDataAdapter method bindItemCollectionListHolder.
protected void bindItemCollectionListHolder(RecyclerView.ViewHolder holder, T item, List<SimpleItemCollection> itemCollectionList, @NonNull List<Object> payloads) {
if (payloads.isEmpty()) {
bindItemCollectionListHolder(holder, item, itemCollectionList);
} else {
// noinspection unchecked
for (List<Object> payload : (List<List<Object>>) (Object) payloads) {
int position = (int) payload.get(0);
SimpleItemCollection newItemCollection = (SimpleItemCollection) CollectionUtils.getOrNull(payload, 1);
bindItemCollectionListHolder(holder, position, newItemCollection);
}
}
}
use of me.zhanghai.android.douya.network.api.info.frodo.SimpleItemCollection 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.SimpleItemCollection in project Douya by DreaminginCodeZH.
the class ItemCollectionListAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
SimpleItemCollection itemCollection = getItem(position);
ImageUtils.loadAvatar(holder.avatarImage, itemCollection.user.avatar);
holder.avatarImage.setOnClickListener(view -> {
Context context = view.getContext();
context.startActivity(ProfileActivity.makeIntent(itemCollection.user, context));
});
holder.nameText.setText(itemCollection.user.name);
boolean hasRating = itemCollection.rating != null;
ViewUtils.setVisibleOrGone(holder.ratingBar, hasRating);
if (hasRating) {
holder.ratingBar.setRating(itemCollection.rating.getRatingBarRating());
}
holder.dateText.setText(TimeUtils.formatDate(TimeUtils.parseDoubanDateTime(itemCollection.createTime), holder.dateText.getContext()));
String voteCount = itemCollection.voteCount > 0 ? holder.voteCountText.getContext().getString(R.string.item_collection_vote_count_format, itemCollection.voteCount) : null;
holder.voteCountText.setText(voteCount);
holder.voteLayout.setActivated(itemCollection.isVoted);
holder.voteLayout.setEnabled(!VoteItemCollectionManager.getInstance().isWriting(itemCollection.id));
holder.voteLayout.setOnClickListener(view -> VoteItemCollectionManager.getInstance().write(mItemType, mItemId, itemCollection, view.getContext()));
holder.commentText.setText(itemCollection.comment);
holder.itemView.setOnLongClickListener(view -> {
mListener.copyText(itemCollection.comment);
return true;
});
}
use of me.zhanghai.android.douya.network.api.info.frodo.SimpleItemCollection in project Douya by DreaminginCodeZH.
the class ItemCollectionListResource method onItemCollectionUpdated.
@Subscribe(threadMode = ThreadMode.POSTING)
public void onItemCollectionUpdated(ItemCollectionUpdatedEvent event) {
if (event.isFromMyself(this) || isEmpty()) {
return;
}
List<SimpleItemCollection> itemCollectionList = get();
for (int i = 0, size = itemCollectionList.size(); i < size; ++i) {
SimpleItemCollection itemCollection = itemCollectionList.get(i);
if (itemCollection.id == event.itemCollection.id) {
itemCollectionList.set(i, event.itemCollection);
getListener().onItemCollectionListItemChanged(getRequestCode(), i, itemCollectionList.get(i));
}
}
}
use of me.zhanghai.android.douya.network.api.info.frodo.SimpleItemCollection in project Douya by DreaminginCodeZH.
the class ItemCollectionFragment method isChanged.
private boolean isChanged() {
SimpleItemCollection collection = mItem.collection;
ItemCollectionState state = getState();
if (collection != null) {
boolean equalsExtraState = mExtraState != null && state == mExtraState;
boolean equalsCollectionState = state == collection.getState();
if (!(equalsExtraState || equalsCollectionState)) {
return true;
}
}
if (state != ItemCollectionState.TODO) {
float originalRating = collection != null && collection.rating != null ? collection.rating.getRatingBarRating() : 0;
float rating = mRatingBar.getRating();
if (rating != originalRating) {
return true;
}
}
List<String> tags = getTags();
List<String> originalTags = collection != null ? collection.tags : Collections.emptyList();
if (!ObjectsCompat.equals(tags, originalTags)) {
return true;
}
String comment = mCommentEdit.getText().toString();
String originalComment = collection != null ? MoreTextUtils.nullToEmpty(collection.comment) : "";
if (!TextUtils.equals(comment, originalComment)) {
return true;
}
return false;
}
Aggregations