package net.mms_projects.copy_it.adapters;
import java.util.List;
import net.mms_projects.copy_it.R;
import net.mms_projects.copy_it.models.HistoryItem;
import net.mms_projects.copy_it.models.HistoryItem.Change;
import net.mms_projects.utils.InlineSwitch;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class HistoryAdapter extends BaseAdapter {
private LayoutInflater inflater;
private List<HistoryItem> items;
public HistoryAdapter(Context context, List<HistoryItem> list) {
this.items = list;
this.inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return this.items.size();
}
@Override
public HistoryItem getItem(int position) {
return this.items.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (convertView == null)
view = this.inflater.inflate(R.layout.activity_history_item, null);
HistoryItem item = this.getItem(position);
TextView content = (TextView) view
.findViewById(R.id.history_item_content);
TextView date = (TextView) view.findViewById(R.id.history_item_date);
ImageView image = (ImageView) view
.findViewById(R.id.history_item_image);
content.setText(item.content);
InlineSwitch<Change, Integer> imageSwitch = new InlineSwitch<HistoryItem.Change, Integer>();
imageSwitch.addClause(Change.PULLED, R.drawable.dashboard_icon_pull);
imageSwitch.addClause(Change.PUSHED, R.drawable.dashboard_icon_push);
imageSwitch.addClause(Change.SEND_TO_APP, R.drawable.dashboard_icon_send_to_app);
imageSwitch.addClause(Change.RECEIVED_FROM_APP, R.drawable.dashboard_icon_send_to_app);
image.setImageResource(imageSwitch.runSwitch(item.change));
date.setText(item.date.toString());
return view;
}
}