/**
*
*/
package net.tasksnow.model.cards;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import net.tasksnow.R;
import net.tasksnow.util.DateUtils;
import net.tasksnow.view.reuse.GenericListAdapter.ListItem;
import net.tasksnow.view.task.ActionMapper;
/**
* @author D056974
*
*/
public class TaskItem implements ListItem {
private Task task = null;
public static final int ITEM_TYPE = 1;
public TaskItem(Task task) {
this.task = task;
}
@Override
public boolean filter(CharSequence constraint) {
String constraintStr = constraint.toString().toLowerCase();
if (this.task.getName().toLowerCase().contains(constraintStr)) {
return true;
}
else if ((this.task.getDescription() != null) && this.task.getDescription().toLowerCase().contains(constraintStr)) {
return true;
}
return false;
}
@Override
public int getType() {
// TODO Auto-generated method stub
return ITEM_TYPE;
}
@Override
public View getListItemView(View convertView, Context context) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.task_card, null);
}
TextView taskName = (TextView) convertView.findViewById(R.id.card_title);
taskName.setText(this.task.getName());
TextView taskTime = (TextView) convertView.findViewById(R.id.task_time);
if (task.getDate() != null)
taskTime.setText(DateUtils.getFormattedDate(this.task.getDate()));//TODO Null Pointer Exception
TextView taskTags = (TextView) convertView.findViewById(R.id.task_tags);
taskTags.setText(this.task.getLabelString());
TextView projectName = (TextView) convertView.findViewById(R.id.task_project_name);
projectName.setText(this.task.getProjectName());
TextView taskDescription = (TextView) convertView.findViewById(R.id.task_note);
if (this.task.getDescription() == null || this.task.getDescription().equals(""))
taskDescription.setVisibility(View.GONE);
else {
taskDescription.setVisibility(View.VISIBLE);
taskDescription.setText(this.task.getDescription());
}
ImageView actionButton = (ImageView) convertView.findViewById(R.id.task_action_btn);
if (ActionMapper.getActionImage(task.getAction(), context) != null) {
actionButton.setVisibility(View.VISIBLE);
convertView.findViewById(R.id.task_action_seperator).setVisibility(View.VISIBLE);
actionButton.setImageDrawable(ActionMapper.getActionImage(task.getAction(), context));
}
else {
convertView.findViewById(R.id.task_action_seperator).setVisibility(View.GONE);
actionButton.setVisibility(View.GONE);
}
return convertView;
}
@Override
public boolean isEnabled() {
// TODO Auto-generated method stub
return true;
}
public Task getTask() {
return task;
}
}