From 99a7b9cd4fa7ce6e8429d461301b0ba7e7ca2e9d Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Wed, 3 Apr 2013 17:53:36 -0700 Subject: [PATCH] Copy updates in new edit design --- astrid/res/values/strings-reminders.xml | 8 +++- astrid/res/values/strings-repeat.xml | 4 +- .../astrid/ui/RandomReminderControlSet.java | 4 ++ .../todoroo/astrid/ui/ReminderControlSet.java | 44 ++++++++++++++++--- 4 files changed, 51 insertions(+), 9 deletions(-) diff --git a/astrid/res/values/strings-reminders.xml b/astrid/res/values/strings-reminders.xml index dff01c99b..9c34ff6e6 100644 --- a/astrid/res/values/strings-reminders.xml +++ b/astrid/res/values/strings-reminders.xml @@ -11,7 +11,7 @@ - Reminders + Reminder settings Remind me @@ -36,6 +36,12 @@ Until I dismiss alarm + + When due + + When overdue + + Randomly diff --git a/astrid/res/values/strings-repeat.xml b/astrid/res/values/strings-repeat.xml index b24138fdb..2d5feed26 100644 --- a/astrid/res/values/strings-repeat.xml +++ b/astrid/res/values/strings-repeat.xml @@ -21,10 +21,10 @@ Every %d - Repeat Interval + Repeat interval - Repeating? + Not repeating Don\'t repeat diff --git a/astrid/src/com/todoroo/astrid/ui/RandomReminderControlSet.java b/astrid/src/com/todoroo/astrid/ui/RandomReminderControlSet.java index 1ca66f467..c58cafb27 100644 --- a/astrid/src/com/todoroo/astrid/ui/RandomReminderControlSet.java +++ b/astrid/src/com/todoroo/astrid/ui/RandomReminderControlSet.java @@ -102,4 +102,8 @@ public class RandomReminderControlSet extends TaskEditControlSet { task.setValue(Task.REMINDER_PERIOD, 0L); return null; } + + public boolean hasRandomReminder() { + return settingCheckbox.isChecked(); + } } diff --git a/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java b/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java index d2cd522f1..d9203b24c 100644 --- a/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java +++ b/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java @@ -9,6 +9,7 @@ import java.util.ArrayList; import java.util.List; import android.app.Activity; +import android.text.TextUtils; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; @@ -23,6 +24,7 @@ import android.widget.TextView; import com.timsu.astrid.R; import com.todoroo.astrid.alarms.AlarmControlSet; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.service.ThemeService; /** * Control set dealing with reminder settings @@ -36,6 +38,8 @@ public class ReminderControlSet extends PopupControlSet { private TextView modeDisplay; private LinearLayout remindersBody; private final List extraViews; + private final TextView label; + private final ImageView image; private RandomReminderControlSet randomControlSet; private AlarmControlSet alarmControl; @@ -43,12 +47,9 @@ public class ReminderControlSet extends PopupControlSet { public ReminderControlSet(Activity activity, int viewLayout, int displayViewLayout) { super(activity, viewLayout, displayViewLayout, R.string.TEA_reminders_group_label); extraViews = new ArrayList(); - TextView label = (TextView) getDisplayView().findViewById(R.id.display_row_edit); - label.setText(R.string.TEA_reminders_group_label); - label.setTextColor(unsetColor); + label = (TextView) getDisplayView().findViewById(R.id.display_row_edit); - ImageView image = (ImageView) getDisplayView().findViewById(R.id.display_row_icon); - image.setImageResource(R.drawable.tea_icn_reminder_gray); + image = (ImageView) getDisplayView().findViewById(R.id.display_row_icon); } public void addViewToBody(View v) { @@ -161,6 +162,37 @@ public class ReminderControlSet extends PopupControlSet { @Override protected void refreshDisplayView() { - // Nothing to do here + int value; + if (initialized) + value = getValue(); + else + value = model.getValue(Task.REMINDER_FLAGS); + + StringBuilder sb = new StringBuilder(); + if ((value & Task.NOTIFY_AT_DEADLINE) > 0) + sb.append(activity.getString(R.string.TEA_reminder_due_short)); + + if ((value & Task.NOTIFY_AFTER_DEADLINE) > 0) { + if (sb.length() > 0) + sb.append(" / "); //$NON-NLS-1$ + sb.append(activity.getString(R.string.TEA_reminder_overdue_short)); + } + + if ((randomControlSet != null && randomControlSet.hasRandomReminder()) || (randomControlSet == null && model.getValue(Task.REMINDER_PERIOD) > 0)) { + if (sb.length() > 0) + sb.append(" / "); //$NON-NLS-1$ + sb.append(activity.getString(R.string.TEA_reminder_randomly_short)); + } + + String toDisplay = sb.toString(); + if (!TextUtils.isEmpty(toDisplay)) { + label.setText(toDisplay); + label.setTextColor(themeColor); + image.setImageResource(ThemeService.getTaskEditDrawable(R.drawable.tea_icn_reminder, R.drawable.tea_icn_reminder_lightblue)); + } else { + label.setText(R.string.TEA_reminders_group_label); + label.setTextColor(unsetColor); + image.setImageResource(R.drawable.tea_icn_reminder_gray); + } } }