Fixed a potential null pointer in task adapter

pull/14/head
Sam Bosley 14 years ago
parent ca9b7a486a
commit b05cee46f4

@ -355,7 +355,6 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
public synchronized void setFieldContentsAndVisibility(View view) { public synchronized void setFieldContentsAndVisibility(View view) {
ViewHolder viewHolder = (ViewHolder)view.getTag(); ViewHolder viewHolder = (ViewHolder)view.getTag();
Task task = viewHolder.task; Task task = viewHolder.task;
if (Preferences.getBoolean(R.string.p_allowCompressedTaskRows, false)) { if (Preferences.getBoolean(R.string.p_allowCompressedTaskRows, false)) {
viewHolder.rowBody.setMinimumHeight(0); viewHolder.rowBody.setMinimumHeight(0);
} else { } else {
@ -377,24 +376,27 @@ public class TaskAdapter extends CursorAdapter implements Filterable {
// due date / completion date // due date / completion date
float dueDateTextWidth = 0; float dueDateTextWidth = 0;
final TextView dueDateView = viewHolder.dueDate; { final TextView dueDateView = viewHolder.dueDate; {
if(!task.isCompleted() && task.hasDueDate()) { Activity activity = fragment.getActivity();
long dueDate = task.getValue(Task.DUE_DATE); if (activity != null) {
if(dueDate > DateUtilities.now()) if(!task.isCompleted() && task.hasDueDate()) {
dueDateView.setTextAppearance(fragment.getActivity(), R.style.TextAppearance_TAd_ItemDueDate); long dueDate = task.getValue(Task.DUE_DATE);
else if(dueDate > DateUtilities.now())
dueDateView.setTextAppearance(fragment.getActivity(), R.style.TextAppearance_TAd_ItemDueDate_Overdue); dueDateView.setTextAppearance(fragment.getActivity(), R.style.TextAppearance_TAd_ItemDueDate);
String dateValue = formatDate(dueDate); else
dueDateView.setText(dateValue); dueDateView.setTextAppearance(fragment.getActivity(), R.style.TextAppearance_TAd_ItemDueDate_Overdue);
dueDateTextWidth = paint.measureText(dateValue); String dateValue = formatDate(dueDate);
setVisibility(dueDateView); dueDateView.setText(dateValue);
} else if(task.isCompleted()) { dueDateTextWidth = paint.measureText(dateValue);
String dateValue = formatDate(task.getValue(Task.COMPLETION_DATE)); setVisibility(dueDateView);
dueDateView.setText(resources.getString(R.string.TAd_completed, dateValue)); } else if(task.isCompleted()) {
dueDateView.setTextAppearance(fragment.getActivity(), R.style.TextAppearance_TAd_ItemDueDate_Completed); String dateValue = formatDate(task.getValue(Task.COMPLETION_DATE));
dueDateTextWidth = paint.measureText(dateValue); dueDateView.setText(resources.getString(R.string.TAd_completed, dateValue));
setVisibility(dueDateView); dueDateView.setTextAppearance(fragment.getActivity(), R.style.TextAppearance_TAd_ItemDueDate_Completed);
} else { dueDateTextWidth = paint.measureText(dateValue);
dueDateView.setVisibility(View.GONE); setVisibility(dueDateView);
} else {
dueDateView.setVisibility(View.GONE);
}
} }
} }

Loading…
Cancel
Save