package com.zedeff.twittererer.ui.adapters; import android.support.v7.widget.RecyclerView; import android.text.Html; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.zedeff.twittererer.App; import com.zedeff.twittererer.R; import com.zedeff.twittererer.models.TimelineItem; import com.squareup.picasso.Picasso; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; public class TimelineAdapter extends RecyclerView.Adapter<TimelineAdapter.ViewHolder> { private List<TimelineItem> timelineItems; public void setItems(List<TimelineItem> timelineItems) { this.timelineItems = timelineItems; notifyDataSetChanged(); } @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_tweet, viewGroup, false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder viewHolder, int i) { TimelineItem timelineItem = timelineItems.get(i); Picasso.with(App.component().application()) .load(timelineItem.getUser().getProfileImageUrl()) .fit() .into(viewHolder.avatarImageView); viewHolder.nameView.setText(timelineItem.getUser().getName()); viewHolder.handleView.setText(String.format("@%s", timelineItem.getUser().getScreenName())); viewHolder.timeView.setText(timelineItem.getCreatedAt()); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { viewHolder.textView.setText(Html.fromHtml(timelineItem.getText(), Html.FROM_HTML_MODE_LEGACY)); } else { //noinspection deprecation viewHolder.textView.setText(Html.fromHtml(timelineItem.getText())); } } @Override public int getItemCount() { return timelineItems != null ? timelineItems.size() : 0; } class ViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.avatar) ImageView avatarImageView; @BindView(R.id.name) TextView nameView; @BindView(R.id.handle) TextView handleView; @BindView(R.id.tweet_time) TextView timeView; @BindView(R.id.tweet_text) TextView textView; ViewHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); } } }