/*
* Copyright (c) 2015. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
* Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
* Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
* Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
* Vestibulum commodo. Ut rhoncus gravida arcu.
*/
package com.shaweibo.biu.adapter.comments;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.shaweibo.biu.R;
import com.shaweibo.biu.Utils.StatusTimeUtils;
import com.shaweibo.biu.Utils.Utility;
import com.shaweibo.biu.adapter.timeline.BaseTimelinAdapter;
import com.shaweibo.biu.global.Constants;
import com.shaweibo.biu.model.CommentListModel;
import com.shaweibo.biu.model.CommentModel;
import com.shaweibo.biu.ui.timeline.StatusDetailActivity;
import com.shaweibo.biu.ui.timeline.UserHomeActivity;
import com.nostra13.universalimageloader.core.ImageLoader;
import butterknife.ButterKnife;
import butterknife.InjectView;
/**
* Created by Administrator on 2015-7-16.
*/
public class CommentMeAdapter extends BaseTimelinAdapter<CommentListModel> implements View.OnClickListener {
private StatusTimeUtils mTimeUtils;
public CommentMeAdapter(Context context, CommentListModel commentListModel) {
super(context, commentListModel);
mTimeUtils = StatusTimeUtils.instance(context);
setBottomCount(1);
}
@Override
public RecyclerView.ViewHolder onCreateContentView(ViewGroup parent, int viewType) {
View view = mLayoutInflater.inflate(R.layout.card_comment_me, parent, false);
CommentMeViewHolder holder = new CommentMeViewHolder(view, mContext);
return holder;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
super.onBindViewHolder(holder,position);
if(holder instanceof CommentMeViewHolder) {
CommentModel commentModel = mListModel.getList().get(position);
CommentMeViewHolder commentViewHolder = (CommentMeViewHolder) holder;
commentViewHolder.tv_content.setText(commentModel.span);
commentViewHolder.tv_content.setMovementMethod(LinkMovementMethod.getInstance());
// commentViewHolder.tv_time.setText(commentModel.created_at);
String source = TextUtils.isEmpty(commentModel.source)?"": Utility.dealSourceString(commentModel.source);
commentViewHolder.tv_time_source.setText(mTimeUtils.buildTimeString(commentModel.created_at)+" | "+source);
commentViewHolder.tv_username.setText(commentModel.user.getName());
String url = avartarHd?commentModel.user.avatar_large:commentModel.user.profile_image_url;
if (!url.equals(commentViewHolder.iv_avatar.getTag())) {
commentViewHolder.iv_avatar.setTag(url);
ImageLoader.getInstance().displayImage(url, commentViewHolder.iv_avatar, Constants.getAvatarOptions(commentModel.user.name.substring(0, 1)));
}
commentViewHolder.iv_avatar.setTag(position);
commentViewHolder.iv_avatar.setOnClickListener(this);
String statusImgUrl= commentModel.status.thumbnail_pic;
if(TextUtils.isEmpty(statusImgUrl)&&commentModel.status.retweeted_status!=null){
statusImgUrl=commentModel.status.retweeted_status.thumbnail_pic;
}
if(TextUtils.isEmpty(statusImgUrl)){
statusImgUrl=commentModel.status.user.avatar_large;
}
if (!statusImgUrl.equals(commentViewHolder.iv_status.getTag())) {
commentViewHolder.iv_status.setTag(statusImgUrl);
ImageLoader.getInstance().displayImage(statusImgUrl, commentViewHolder.iv_status, Constants.timelineListOptions);
}
commentViewHolder.tv_status_author.setText(commentModel.status.user.getName());
commentViewHolder.tv_status_content.setText(commentModel.status.text);
commentViewHolder.status_source.setTag(position);
commentViewHolder.status_source.setOnClickListener(this);
}
}
@Override
public void onClick(View v) {
int viewId = v.getId();
int postion = (int) v.getTag();
CommentModel msg = mListModel.get(postion);
switch (viewId) {
case R.id.iv_avatar:
UserHomeActivity.start(mContext, msg.user);
break;
case R.id.status_source:
StatusDetailActivity.start(mContext, msg.status);
break;
}
}
public class CommentMeViewHolder extends RecyclerView.ViewHolder {
@InjectView(R.id.tv_time_source)
public TextView tv_time_source;
@InjectView(R.id.tv_username)
public TextView tv_username;
@InjectView(R.id.tv_content)
public TextView tv_content;
@InjectView(R.id.iv_avatar)
public ImageView iv_avatar;
@InjectView(R.id.iv_source)
public ImageView iv_status;
@InjectView(R.id.tv_status_author)
public TextView tv_status_author;
@InjectView(R.id.tv_status_content)
public TextView tv_status_content;
@InjectView(R.id.status_source)
View status_source;
public CommentMeViewHolder(View itemView, Context context) {
super(itemView);
ButterKnife.inject(this, itemView);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// if (mListenner != null) {
//
// mListenner.onTtemClick(v, getAdapterPosition());
// }
}
});
}
}
}