package com.sabdroidex.adapters;
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.sabdroidex.R;
import com.sabdroidex.data.sabnzbd.QueueElement;
import com.utils.Formatter;
import java.util.List;
public class QueueAdapter extends BaseAdapter {
private final LayoutInflater mInflater;
private List<QueueElement> mItems;
public QueueAdapter(Context context, List<QueueElement> items) {
this.mInflater = LayoutInflater.from(context);
this.mItems = items;
}
public void setItems(List<QueueElement> items) {
this.mItems = items;
}
@Override
public int getCount() {
if (mItems == null) {
return 0;
}
return mItems.size();
}
@Override
public Object getItem(int position) {
return mItems.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
QueueListItem mQueueListItem;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item, null);
mQueueListItem = new QueueListItem();
mQueueListItem.fileName = (TextView) convertView.findViewById(R.id.queueRowLabelFilename);
mQueueListItem.eta = (TextView) convertView.findViewById(R.id.queueRowLabelEta);
mQueueListItem.completed = (TextView) convertView.findViewById(R.id.queueRowLabelCompleted);
mQueueListItem.status = (ImageView) convertView.findViewById(R.id.queueRowStatus);
} else {
mQueueListItem = (QueueListItem) convertView.getTag();
}
QueueElement element = (QueueElement) getItem(position);
String eta = element.getTimeLeft();
String completed = Formatter.formatShort(Double.valueOf(element.getMbLeft())) + " / " + Formatter.formatShort(Double.valueOf(element.getMb())) + " MB";
String status = element.getStatus();
String fileName = element.getFilename();
mQueueListItem.fileName.setText(fileName);
mQueueListItem.eta.setText(eta);
mQueueListItem.completed.setText(completed);
if ("Paused".equals(status))
mQueueListItem.status.setImageResource(R.drawable.ic_action_pause);
else
mQueueListItem.status.setImageResource(R.drawable.ic_action_play);
convertView.setId(position);
convertView.setTag(mQueueListItem);
return (convertView);
}
@Override
public int getViewTypeCount() {
return 1;
}
class QueueListItem {
TextView fileName;
TextView eta;
TextView completed;
ImageView status;
}
}