use of me.zhanghai.android.douya.network.api.info.frodo.Review in project Douya by DreaminginCodeZH.
the class BaseReviewListResource method onLoadFinished.
private void onLoadFinished(boolean more, int count, boolean successful, List<Review> response, VolleyError error) {
getListener().onLoadReviewListFinished(getRequestCode());
if (successful) {
if (more) {
append(response);
getListener().onReviewListAppended(getRequestCode(), Collections.unmodifiableList(response));
} else {
set(response);
getListener().onReviewListChanged(getRequestCode(), Collections.unmodifiableList(get()));
}
for (Review review : response) {
EventBusUtils.postAsync(new ReviewUpdatedEvent(review, this));
}
} else {
getListener().onLoadReviewListError(getRequestCode(), error);
}
}
use of me.zhanghai.android.douya.network.api.info.frodo.Review in project Douya by DreaminginCodeZH.
the class BaseReviewListResource method onReviewUpdated.
@Subscribe(threadMode = ThreadMode.MAIN)
public void onReviewUpdated(ReviewUpdatedEvent event) {
if (event.isFromMyself(this) || isEmpty()) {
return;
}
List<Review> reviewList = get();
for (int i = 0, size = reviewList.size(); i < size; ++i) {
Review review = reviewList.get(i);
if (review.id == event.review.id) {
reviewList.set(i, event.review);
getListener().onReviewChanged(getRequestCode(), i, reviewList.get(i));
}
}
}
use of me.zhanghai.android.douya.network.api.info.frodo.Review in project Douya by DreaminginCodeZH.
the class ProfileReviewsLayout method bind.
public void bind(final User user, List<Review> reviewList) {
final Context context = getContext();
OnClickListener viewMoreListener = new OnClickListener() {
@Override
public void onClick(View view) {
// TODO
UriHandler.open(StringUtils.formatUs("https://www.douban.com/people/%s/reviews", user.getIdOrUid()), context);
//context.startActivity(ReviewListActivity.makeIntent(mUser, context));
}
};
mTitleText.setOnClickListener(viewMoreListener);
mViewMoreText.setOnClickListener(viewMoreListener);
int i = 0;
for (final Review review : reviewList) {
if (i >= REVIEW_COUNT_MAX) {
break;
}
if (i >= mReviewList.getChildCount()) {
LayoutInflater.from(context).inflate(R.layout.profile_review_item, mReviewList);
}
View reviewLayout = mReviewList.getChildAt(i);
ReviewLayoutHolder holder = (ReviewLayoutHolder) reviewLayout.getTag();
if (holder == null) {
holder = new ReviewLayoutHolder(reviewLayout);
reviewLayout.setTag(holder);
ViewUtils.setTextViewLinkClickable(holder.titleText);
}
String coverUrl = review.cover;
if (TextUtils.isEmpty(coverUrl) && review.item != null && review.item.cover != null) {
coverUrl = review.item.cover.getNormal();
}
if (!TextUtils.isEmpty(coverUrl)) {
holder.coverImage.setVisibility(VISIBLE);
ImageUtils.loadImage(holder.coverImage, coverUrl);
} else {
holder.coverImage.setVisibility(GONE);
}
holder.titleText.setText(review.title);
holder.abstractText.setText(review.abstract_);
reviewLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// TODO
UriHandler.open(StringUtils.formatUs("https://www.douban.com/review/%d", review.id), context);
//context.startActivity(ReviewActivity.makeIntent(review, context));
}
});
++i;
}
ViewUtils.setVisibleOrGone(mReviewList, i != 0);
ViewUtils.setVisibleOrGone(mEmptyView, i == 0);
//if (mUser.reviewCount > i) {
if (reviewList.size() > i) {
mViewMoreText.setText(R.string.view_more);
} else {
mViewMoreText.setVisibility(GONE);
}
for (int count = mReviewList.getChildCount(); i < count; ++i) {
ViewUtils.setVisibleOrGone(mReviewList.getChildAt(i), false);
}
}
use of me.zhanghai.android.douya.network.api.info.frodo.Review in project Douya by DreaminginCodeZH.
the class BaseReviewListResource method onReviewDeleted.
@Subscribe(threadMode = ThreadMode.MAIN)
public void onReviewDeleted(ReviewDeletedEvent event) {
if (event.isFromMyself(this) || isEmpty()) {
return;
}
List<Review> reviewList = get();
for (int i = 0, size = reviewList.size(); i < size; ) {
Review review = reviewList.get(i);
if (review.id == event.reviewId) {
reviewList.remove(i);
getListener().onReviewRemoved(getRequestCode(), i);
--size;
} else {
++i;
}
}
}
Aggregations