From 0b95b2c60c055abe22826a4946cb965d34d19a3b Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Wed, 3 Apr 2013 13:45:15 -0700 Subject: [PATCH] Deadline control should be red if overdue --- .../todoroo/astrid/ui/DateAndTimePicker.java | 5 +++++ .../todoroo/astrid/ui/DeadlineControlSet.java | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/astrid/src/com/todoroo/astrid/ui/DateAndTimePicker.java b/astrid/src/com/todoroo/astrid/ui/DateAndTimePicker.java index d80c02b3f..cff1653a5 100644 --- a/astrid/src/com/todoroo/astrid/ui/DateAndTimePicker.java +++ b/astrid/src/com/todoroo/astrid/ui/DateAndTimePicker.java @@ -272,6 +272,11 @@ public class DateAndTimePicker extends LinearLayout { this.listener = listener; } + public boolean isAfterNow() { + long dueDate = constructDueDate(); + return dueDate > DateUtilities.now(); + } + public String getDisplayString(Context context, boolean useNewline, boolean hideYear) { long dueDate = constructDueDate(); return getDisplayString(context, dueDate, useNewline, hideYear, false); diff --git a/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java b/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java index 8e6e4155d..bfc1748c2 100644 --- a/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java +++ b/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java @@ -19,6 +19,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import com.timsu.astrid.R; +import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.repeats.RepeatControlSet; @@ -43,10 +44,14 @@ public class DeadlineControlSet extends PopupControlSet { @Override protected void refreshDisplayView() { StringBuilder displayString = new StringBuilder(); - if (initialized) + boolean isOverdue; + if (initialized) { + isOverdue = !dateAndTimePicker.isAfterNow(); displayString.append(dateAndTimePicker.getDisplayString(activity, isQuickadd, isQuickadd)); - else + } else { + isOverdue = model.getValue(Task.DUE_DATE) < DateUtilities.now(); displayString.append(DateAndTimePicker.getDisplayString(activity, model.getValue(Task.DUE_DATE), isQuickadd, isQuickadd, false)); + } if (!isQuickadd && repeatControlSet != null) { String repeatString = repeatControlSet.getStringForExternalDisplay(); @@ -62,8 +67,13 @@ public class DeadlineControlSet extends PopupControlSet { image.setImageResource(R.drawable.tea_icn_date_gray); } else { dateDisplay.setText(displayString); - dateDisplay.setTextColor(themeColor); - image.setImageResource(ThemeService.getTaskEditDrawable(R.drawable.tea_icn_date, R.drawable.tea_icn_date_lightblue)); + if (isOverdue) { + dateDisplay.setTextColor(activity.getResources().getColor(R.color.red_theme_color)); + image.setImageResource(R.drawable.tea_icn_date_red); + } else { + dateDisplay.setTextColor(themeColor); + image.setImageResource(ThemeService.getTaskEditDrawable(R.drawable.tea_icn_date, R.drawable.tea_icn_date_lightblue)); + } } }