diff --git a/api/src/main/java/com/todoroo/andlib/data/AbstractModel.java b/api/src/main/java/com/todoroo/andlib/data/AbstractModel.java index 4938f25a5..3510930d1 100644 --- a/api/src/main/java/com/todoroo/andlib/data/AbstractModel.java +++ b/api/src/main/java/com/todoroo/andlib/data/AbstractModel.java @@ -368,17 +368,6 @@ public abstract class AbstractModel implements Parcelable, Cloneable { } } - /** - * Returns the set state of the given flag on the given property - * @param property the property to get the set state of the flag - * @param flag the flag-descriptor (e.g. Task.FLAG_REPEAT_AFTER_COMPLETION) - * @return true if the flag is set - */ - public boolean getFlag(IntegerProperty property, int flag) { - return (getValue(property) & flag) > 0; - } - - // --- setting and retrieving flags public synchronized void putTransitory(String key, Object value) { diff --git a/api/src/main/java/com/todoroo/astrid/data/Task.java b/api/src/main/java/com/todoroo/astrid/data/Task.java index 9a6a02c04..629ddf807 100644 --- a/api/src/main/java/com/todoroo/astrid/data/Task.java +++ b/api/src/main/java/com/todoroo/astrid/data/Task.java @@ -677,4 +677,24 @@ public class Task extends RemoteModel { public void setID(Long id) { setValue(ID, id); } + + public boolean isNotifyModeNonstop() { + return isReminderFlagSet(Task.NOTIFY_MODE_NONSTOP); + } + + public boolean isNotifyModeFive() { + return isReminderFlagSet(Task.NOTIFY_MODE_FIVE); + } + + public boolean isNotifyAfterDeadline() { + return isReminderFlagSet(Task.NOTIFY_AFTER_DEADLINE); + } + + public boolean isNotifyAtDeadline() { + return isReminderFlagSet(Task.NOTIFY_AT_DEADLINE); + } + + private boolean isReminderFlagSet(int flag) { + return (getReminderFlags() & flag) > 0; + } } diff --git a/astrid/src/main/java/com/todoroo/astrid/reminders/Notifications.java b/astrid/src/main/java/com/todoroo/astrid/reminders/Notifications.java index c28440ab7..9dce38c95 100644 --- a/astrid/src/main/java/com/todoroo/astrid/reminders/Notifications.java +++ b/astrid/src/main/java/com/todoroo/astrid/reminders/Notifications.java @@ -144,8 +144,8 @@ public class Notifications extends InjectingBroadcastReceiver { // read properties String taskTitle = task.getTitle(); - boolean nonstopMode = task.getFlag(Task.REMINDER_FLAGS, Task.NOTIFY_MODE_NONSTOP); - boolean ringFiveMode = task.getFlag(Task.REMINDER_FLAGS, Task.NOTIFY_MODE_FIVE); + boolean nonstopMode = task.isNotifyModeNonstop(); + boolean ringFiveMode = task.isNotifyModeFive(); int ringTimes = nonstopMode ? -1 : (ringFiveMode ? 5 : 1); // update last reminder time diff --git a/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java b/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java index 8d47e6160..7ed371533 100644 --- a/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java +++ b/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java @@ -249,7 +249,7 @@ public final class ReminderService { */ private long calculateNextOverdueReminder(Task task) { // Uses getNowValue() instead of DateUtilities.now() - if(task.hasDueDate() && task.getFlag(Task.REMINDER_FLAGS, Task.NOTIFY_AFTER_DEADLINE)) { + if(task.hasDueDate() && task.isNotifyAfterDeadline()) { Date due = newDate(task.getDueDate()); if (!task.hasDueTime()) { due.setHours(23); @@ -290,7 +290,7 @@ public final class ReminderService { */ long calculateNextDueDateReminder(Task task) { // Uses getNowValue() instead of DateUtilities.now() - if(task.hasDueDate() && task.getFlag(Task.REMINDER_FLAGS, Task.NOTIFY_AT_DEADLINE)) { + if(task.hasDueDate() && task.isNotifyAtDeadline()) { long dueDate = task.getDueDate(); long lastReminder = task.getReminderLast();