package com.ushahidi.android.app;
import java.util.ArrayList;
import java.util.List;
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;
import com.ushahidi.android.app.data.DeploymentsData;
public class DeploymentAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private List<DeploymentsData> iItems = new ArrayList<DeploymentsData>();
private int[] colors;
public DeploymentAdapter(Context context) {
colors = new int[] {R.color.table_odd_row_color, R.color.table_even_row_color};
mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return iItems.size();
}
public Object getItem(int position) {
return iItems.get(position);
}
public long getItemId(int position) {
return position;
}
/**
* Clear all items from the list
*/
public void removeItems() {
iItems.clear();
}
public void addItem(DeploymentsData deploymentsData) {
iItems.add(deploymentsData);
}
public View getView(int position, View convertView, ViewGroup parent) {
final String deploymentId = String.valueOf(Preferences.activeDeployment);
View row = mInflater.inflate(R.layout.deployment_list, parent, false);
int colorPosition = position % colors.length;
row.setBackgroundResource(colors[colorPosition]);
ViewHolder holder = (ViewHolder)row.getTag();
if (holder == null) {
holder = new ViewHolder(row);
row.setTag(holder);
}
// initialize view with content
holder.deploymentName.setText(iItems.get(position).getName());
holder.deploymentDesc.setText(iItems.get(position).getDesc());
holder.deploymentUrl.setText(iItems.get(position).getUrl());
holder.deploymentId.setText(iItems.get(position).getId());
if (iItems.get(position).getId().equals(deploymentId)) {
holder.arrow.setImageResource(R.drawable.deployment_selected);
} else {
holder.arrow.setImageResource(R.drawable.menu_arrow);
}
return row;
}
class ViewHolder {
TextView deploymentName;
TextView deploymentDesc;
TextView deploymentUrl;
TextView deploymentId;
ImageView arrow;
ViewHolder(View convertView) {
deploymentName = (TextView)convertView.findViewById(R.id.deployment_list_name);
deploymentDesc = (TextView)convertView.findViewById(R.id.deployment_list_desc);
deploymentUrl = (TextView)convertView.findViewById(R.id.deployment_list_url);
deploymentId = (TextView)convertView.findViewById(R.id.deployment_list_id);
arrow = (ImageView)convertView.findViewById(R.id.deployment_arrow);
}
}
}