package com.cloudrail.fileviewer;
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 com.cloudrail.si.types.CloudMetaData;
import java.util.List;
/**
* Created by patrick on 08.04.16.
*/
public class CloudMetadataAdapter extends ArrayAdapter<CloudMetaData> {
private List<CloudMetaData> data;
public CloudMetadataAdapter(Context context, int resource, List<CloudMetaData> objects) {
super(context, resource, objects);
this.data = objects;
}
@Override
public void remove(CloudMetaData object) {
String target = object.getName();
for(int i = 0; i < this.data.size(); ++i) {
CloudMetaData cloudMetaData = this.data.get(i);
if(cloudMetaData.getName().equals(target)) {
this.data.remove(i);
break;
}
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// assign the view we are converting to a local variable
View v = convertView;
// first check to see if the view is null. if so, we have to inflate it.
// to inflate it basically means to render, or show, the view.
if (v == null) {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.list_item, null);
}
CloudMetaData cmd = this.data.get(position);
if(cmd != null) {
ImageView img = (ImageView) v.findViewById(R.id.icon);
if(img != null) {
if(cmd.getFolder()) {
img.setImageResource(R.drawable.ic_file_folder);
} else {
img.setImageResource(R.drawable.ic_editor_insert_drive_file);
}
}
TextView tv = (TextView) v.findViewById(R.id.list_item);
tv.setText(cmd.getName());
}
return v;
}
}