package org.ovirt.mobile.movirt.ui.dashboard.box;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import org.ovirt.mobile.movirt.R;
import org.ovirt.mobile.movirt.ui.dashboard.DashboardEntityStatus;
import org.ovirt.mobile.movirt.ui.dashboard.maps.DashboardPosition;
import java.util.List;
public class DashboardBoxListAdapter extends ArrayAdapter<DashboardBoxData> {
private final LayoutInflater inflater;
public DashboardBoxListAdapter(Context context) {
super(context, R.layout.dashboard_box_list_item);
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public void setData(List<DashboardBoxData> data) {
clear();
if (data != null) {
addAll(data);
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view;
if (convertView == null) {
view = inflater.inflate(R.layout.dashboard_box_list_item, parent, false);
} else {
view = convertView;
}
DashboardBoxData item = getItem(position);
TextView entityCount = (TextView) view.findViewById(R.id.entityCount);
ImageView entityImage = (ImageView) view.findViewById(R.id.entityImage);
entityCount.setText(item.getEntityCountFormatStr(getContext()));
entityImage.setImageResource(item.getEntityImageId());
DashboardEntityStatus first = item.getStatusOnPosition(DashboardPosition.FIRST);
DashboardEntityStatus second = item.getStatusOnPosition(DashboardPosition.SECOND);
DashboardEntityStatus third = item.getStatusOnPosition(DashboardPosition.THIRD);
if (first.getCount() == 0 && second.getCount() == 0 && third.getCount() == 0) {
view.findViewById(R.id.normalLayout).setVisibility(View.GONE);
view.findViewById(R.id.naLayout).setVisibility(View.VISIBLE); // NA
} else {
TextView firstStatusCount = (TextView) view.findViewById(R.id.firstStatusCount);
TextView secondStatusCount = (TextView) view.findViewById(R.id.secondStatusCount);
TextView thirdStatusCount = (TextView) view.findViewById(R.id.thirdStatusCount);
ImageView firstStatusImage = (ImageView) view.findViewById(R.id.firstStatusImage);
ImageView secondStatusImage = (ImageView) view.findViewById(R.id.secondStatusImage);
ImageView thirdStatusImage = (ImageView) view.findViewById(R.id.thirdStatusImage);
firstStatusCount.setText(String.valueOf(first.getCount()));
firstStatusImage.setImageResource(first.getIconResourceId());
secondStatusCount.setText(String.valueOf(second.getCount()));
secondStatusImage.setImageResource(second.getIconResourceId());
thirdStatusCount.setText(String.valueOf(third.getCount()));
thirdStatusImage.setImageResource(third.getIconResourceId());
}
return view;
}
}