diff --git a/api/src/com/todoroo/andlib/utility/DateUtilities.java b/api/src/com/todoroo/andlib/utility/DateUtilities.java index fad5043c5..57c345829 100644 --- a/api/src/com/todoroo/andlib/utility/DateUtilities.java +++ b/api/src/com/todoroo/andlib/utility/DateUtilities.java @@ -222,6 +222,22 @@ public class DateUtilities { return DateUtilities.getRelativeDay(context, date, true); } + public static long getStartOfDay(long time) { + Date date = new Date(time); + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + return date.getTime(); + } + + public static long getEndOfDay(long time) { + Date date = new Date(time); + date.setHours(23); + date.setMinutes(59); + date.setSeconds(59); + return date.getTime(); + } + private static long clearTime(Date date) { date.setTime(date.getTime() / 1000L * 1000); date.setHours(0); diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index 3495a5abf..eccb6322d 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -377,7 +377,9 @@ public class TaskAdapter extends CursorAdapter implements Filterable { if (activity != null) { if(!task.isCompleted() && task.hasDueDate()) { long dueDate = task.getValue(Task.DUE_DATE); - if(dueDate > DateUtilities.now()) + long compareTo = task.hasDueTime() ? DateUtilities.now() : DateUtilities.getStartOfDay(DateUtilities.now()); + + if(dueDate > compareTo) dueDateView.setTextAppearance(fragment.getActivity(), R.style.TextAppearance_TAd_ItemDueDate); else dueDateView.setTextAppearance(fragment.getActivity(), R.style.TextAppearance_TAd_ItemDueDate_Overdue);