package com.fastaccess.ui.adapter.viewholder;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.AppCompatImageView;
import android.view.View;
import android.view.ViewGroup;
import com.fastaccess.App;
import com.fastaccess.R;
import com.fastaccess.data.dao.model.Comment;
import com.fastaccess.helper.InputHelper;
import com.fastaccess.helper.ParseDateFormat;
import com.fastaccess.provider.timeline.HtmlHelper;
import com.fastaccess.ui.widgets.AvatarLayout;
import com.fastaccess.ui.widgets.FontTextView;
import com.fastaccess.ui.widgets.recyclerview.BaseRecyclerAdapter;
import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder;
import butterknife.BindView;
/**
* Created by Kosh on 11 Nov 2016, 2:08 PM
*/
public class CommentsViewHolder extends BaseViewHolder<Comment> {
@BindView(R.id.avatarView) AvatarLayout avatar;
@BindView(R.id.date) FontTextView date;
@BindView(R.id.name) FontTextView name;
@BindView(R.id.comment) FontTextView comment;
@BindView(R.id.toggleHolder) View toggleHolder;
@BindView(R.id.toggle) AppCompatImageView toggle;
@Override public void onClick(View v) {
if (v.getId() == R.id.toggleHolder) {
toggle.callOnClick();
} else {
super.onClick(v);
}
}
private CommentsViewHolder(@NonNull View itemView, @Nullable BaseRecyclerAdapter adapter) {
super(itemView, adapter);
itemView.setOnClickListener(null);
itemView.setOnLongClickListener(null);
toggleHolder.setOnClickListener(this);
toggle.setOnClickListener(this);
}
public static CommentsViewHolder newInstance(@NonNull ViewGroup viewGroup, @Nullable BaseRecyclerAdapter adapter) {
return new CommentsViewHolder(getView(viewGroup, R.layout.no_emojies_comments_row_item), adapter);
}
@Override public void bind(@NonNull Comment commentsModel) {
if (commentsModel.getUser() != null) {
avatar.setUrl(commentsModel.getUser().getAvatarUrl(), commentsModel.getUser().getLogin(), commentsModel.getUser().isOrganizationType());
} else {
avatar.setUrl(null, null);
}
if (!InputHelper.isEmpty(commentsModel.getBodyHtml())) {
HtmlHelper.htmlIntoTextView(comment, commentsModel.getBodyHtml());
} else {
comment.setText("");
}
name.setText(commentsModel.getUser() != null ? commentsModel.getUser().getLogin() : "Anonymous");
if (commentsModel.getCreatedAt().before(commentsModel.getUpdatedAt())) {
date.setText(ParseDateFormat.getTimeAgo(commentsModel.getCreatedAt()) + " " + App.getInstance().getResources().getString(R.string.edited));
} else {
date.setText(ParseDateFormat.getTimeAgo(commentsModel.getCreatedAt()));
}
}
}