package im.zico.wingtwitter.adapter;
import android.app.Activity;
import android.app.ActivityOptions;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.text.util.Linkify;
import android.util.Patterns;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.Transformation;
import android.widget.BaseAdapter;
import android.widget.CursorAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import de.hdodenhof.circleimageview.CircleImageView;
import im.zico.wingtwitter.R;
import im.zico.wingtwitter.WingApp;
import im.zico.wingtwitter.type.WingTweet;
import im.zico.wingtwitter.ui.TweetDetailActivity;
import im.zico.wingtwitter.ui.view.HtmlTextView;
import im.zico.wingtwitter.utils.HackyMovementMethod;
import im.zico.wingtwitter.utils.SpannableStringUtils;
import im.zico.wingtwitter.utils.Utils;
/**
* Created by tinyao on 12/4/14.
*/
public class UserTweetsAdapter extends BaseAdapter {
private LayoutInflater mLayoutInflater;
private ListView mListView;
private ArrayList<WingTweet> tweets;
private Context mContext;
public UserTweetsAdapter(Context context, ArrayList<WingTweet> tweets) {
this.mContext = context;
mLayoutInflater = ((Activity) context).getLayoutInflater();
this.tweets = tweets;
}
@Override
public int getCount() {
return tweets.size();
}
@Override
public WingTweet getItem(int position) {
return tweets.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final Holder holder;
if (convertView == null) {
convertView = mLayoutInflater.inflate(R.layout.layout_profile_tweet_item, parent, false);
holder = new Holder(convertView);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
WingTweet tweet = tweets.get(position);
Picasso.with(mContext).load(tweet.avatar_url)
.fit()
.placeholder(R.color.alpha_light_gray)
.into(holder.avatar);
// if (tweet.retweet_id != -1) {
// holder.retweeted.setVisibility(View.VISIBLE);
// holder.retweeted.setText(tweet.retweeted_by_user_name + " retweeted");
// } else {
// holder.retweeted.setVisibility(View.GONE);
// }
holder.name.setText(tweet.user_name);
holder.screenName.setText("@" + tweet.screen_name);
holder.time.setText("" + Utils.getTimeAgo(tweet.created_at));
holder.content.setHtmlText(tweet.content_html);
return convertView;
}
private Holder getHolder(final View view) {
Holder holder = (Holder) view.getTag();
if (holder == null) {
holder = new Holder(view);
view.setTag(holder);
}
return holder;
}
private class Holder {
public CircleImageView avatar;
public TextView name;
public TextView screenName;
public HtmlTextView content;
public TextView time;
public Holder(View view) {
avatar = (CircleImageView) view.findViewById(R.id.user_avatar);
name = (TextView) view.findViewById(R.id.user_name);
screenName = (TextView) view.findViewById(R.id.user_screen_name);
content = (HtmlTextView) view.findViewById(R.id.tweet_content);
time = (TextView) view.findViewById(R.id.tweet_time);
}
}
}