package se.dat255.grupp12;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.OvalShape;
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 java.util.Collections;
import java.util.List;
/**
* Created by ville on 9/18/13.
*/
public class SwipeListViewAdapter extends ArrayAdapter<Task> {
private final Context context;
private final int layout;
public SwipeListViewAdapter(Context context) {
super(context, R.layout.task_list_item,TodoList.getCurrentList().getTasks());
this.context = context;
this.layout = R.layout.task_list_item;
}
@Override
public void add(Task object) {
TodoList.getCurrentList().getTasks().add(object);
}
public void add(int i,Task object) {
TodoList.getCurrentList().getTasks().add(i,object);
this.notifyDataSetChanged();
}
@Override
public Task getItem(int position) {
return TodoList.getCurrentList().getTasks().get(position);
}
@Override
public void remove(Task object) {
if (TodoList.getCurrentList()==TodoList.THE_ASSIGNED_LIST) {
TodoList.getListWithID(
TodoList.THE_ASSIGNED_LIST.getIdForPosition(object)
).getTasks().remove(object);
} else {
TodoList.getCurrentList().getTasks().remove(object);
}
this.notifyDataSetChanged();
}
@Override
public int getCount() {
return TodoList.getCurrentList().getTasks().size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = (View)inflater.inflate(layout, parent, false);
TextView label = (TextView)rowView.findViewById(R.id.task_label);
Task task = TodoList.getCurrentList().getTasks().get(position);
label.setText(task.getTitle());
switch (task.getPriority()) {
case HIGH:
rowView.setBackgroundResource(R.drawable.layout_bg_red);
break;
case MEDIUM:
rowView.setBackgroundResource(R.drawable.layout_bg_yellow);
break;
case LOW:
rowView.setBackgroundResource(R.drawable.layout_bg_green);
break;
}
if (task.isDone()) {
rowView.setBackgroundResource(R.drawable.layout_bg_gray);
}
// Setup face.
ImageView face = (ImageView) rowView.findViewById(R.id.task_face);
face.setImageResource(R.drawable.social_person);
face.setAlpha(task.isAssigned() ?
255 : 60);
face.setTag(position);
if (TodoList.getCurrentList().isSoleCollaborator() && !task.isAssigned()) {
face.setVisibility(View.INVISIBLE);
} else {
face.setVisibility(View.VISIBLE);
}
// Setup assigned counter
TextView assignedCount = (TextView) rowView.findViewById(R.id.number_of_assigned_text);
if (task.getNumberOfUsers()>0) {
assignedCount.setText(""+task.getNumberOfUsers());
assignedCount.setVisibility(View.VISIBLE);
} else {
assignedCount.setText("");
assignedCount.setVisibility(View.INVISIBLE);
}
return rowView;
}
}