package com.wangdaye.mysplash.photo.view.holder;
import android.annotation.SuppressLint;
import android.os.Build;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
import com.wangdaye.mysplash.Mysplash;
import com.wangdaye.mysplash.R;
import com.wangdaye.mysplash.common.data.entity.unsplash.Photo;
import com.wangdaye.mysplash.common._basic.MysplashActivity;
import com.wangdaye.mysplash.common.ui.adapter.PhotoInfoAdapter;
import com.wangdaye.mysplash.common.ui.widget.CircleImageView;
import com.wangdaye.mysplash.common.utils.DisplayUtils;
import com.wangdaye.mysplash.common.utils.helper.ImageHelper;
import com.wangdaye.mysplash.common.utils.helper.IntentHelper;
import com.wangdaye.mysplash.user.view.activity.UserActivity;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/** <br> Story holder. */
public class StoryHolder extends PhotoInfoAdapter.ViewHolder {
@BindView(R.id.item_photo_story_title)
TextView title;
@BindView(R.id.item_photo_story_subtitle)
TextView subtitle;
@BindView(R.id.item_photo_story_content)
TextView content;
@BindView(R.id.item_photo_story_avatar)
CircleImageView avatar;
private Photo photo;
public static final int TYPE_STORY = 4;
public StoryHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
DisplayUtils.setTypeface(Mysplash.getInstance().getTopActivity(), subtitle);
DisplayUtils.setTypeface(Mysplash.getInstance().getTopActivity(), content);
}
@SuppressLint("SetTextI18n")
@Override
protected void onBindView(MysplashActivity a, Photo photo) {
if (TextUtils.isEmpty(photo.story.description)) {
content.setVisibility(View.GONE);
} else {
content.setVisibility(View.VISIBLE);
content.setText(photo.story.description);
}
if (TextUtils.isEmpty(photo.story.title)) {
title.setText("A Story");
} else {
title.setText(photo.story.title);
}
subtitle.setText(a.getString(R.string.by) + " " + photo.user.name);
ImageHelper.loadAvatar(a, avatar, photo.user, null);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
avatar.setTransitionName(photo.user.username + "-3");
}
this.photo = photo;
}
@Override
protected void onRecycled() {
ImageHelper.releaseImageView(avatar);
}
@OnClick(R.id.item_photo_story_avatar) void checkAuthor() {
IntentHelper.startUserActivity(
Mysplash.getInstance().getTopActivity(),
avatar,
photo.user,
UserActivity.PAGE_PHOTO);
}
}