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; } }