diff --git a/app/src/androidTest/java/com/todoroo/astrid/data/TaskTest.java b/app/src/androidTest/java/com/todoroo/astrid/data/TaskTest.java index d08986d6a..4f793cb5b 100644 --- a/app/src/androidTest/java/com/todoroo/astrid/data/TaskTest.java +++ b/app/src/androidTest/java/com/todoroo/astrid/data/TaskTest.java @@ -20,6 +20,7 @@ import static org.tasks.date.DateTimeUtils.newDateTime; import static org.tasks.time.DateTimeUtils.currentTimeMillis; import android.support.test.runner.AndroidJUnit4; +import com.todoroo.astrid.data.Task.Priority; import java.util.ArrayList; import java.util.TreeSet; import org.junit.After; @@ -285,10 +286,11 @@ public class TaskTest { } @Test + @SuppressWarnings("ConstantConditions") public void testSanity() { - assertTrue(Task.IMPORTANCE_DO_OR_DIE < Task.IMPORTANCE_MUST_DO); - assertTrue(Task.IMPORTANCE_MUST_DO < Task.IMPORTANCE_SHOULD_DO); - assertTrue(Task.IMPORTANCE_SHOULD_DO < Task.IMPORTANCE_NONE); + assertTrue(Priority.HIGH < Priority.MEDIUM); + assertTrue(Priority.MEDIUM < Priority.LOW); + assertTrue(Priority.LOW < Priority.NONE); ArrayList reminderFlags = new ArrayList<>(); reminderFlags.add(Task.NOTIFY_AFTER_DEADLINE); diff --git a/app/src/androidTest/java/com/todoroo/astrid/service/QuickAddMarkupTest.java b/app/src/androidTest/java/com/todoroo/astrid/service/QuickAddMarkupTest.java index 6976a6a59..36b32a8ea 100644 --- a/app/src/androidTest/java/com/todoroo/astrid/service/QuickAddMarkupTest.java +++ b/app/src/androidTest/java/com/todoroo/astrid/service/QuickAddMarkupTest.java @@ -9,6 +9,7 @@ import static junit.framework.Assert.assertEquals; import android.support.test.runner.AndroidJUnit4; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.data.Task.Priority; import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.utility.TitleParser; import java.util.ArrayList; @@ -65,17 +66,17 @@ public class QuickAddMarkupTest extends InjectingTestCase { // --- helpers @Test - public void testImportances() { + public void testPriorities() { whenTitleIs("eat !1"); assertTitleBecomes("eat"); - assertImportanceIs(Task.IMPORTANCE_SHOULD_DO); + assertPriority(Priority.LOW); whenTitleIs("super cool!"); assertTitleBecomes("super cool!"); whenTitleIs("stay alive !4"); assertTitleBecomes("stay alive"); - assertImportanceIs(Task.IMPORTANCE_DO_OR_DIE); + assertPriority(Priority.HIGH); } @Test @@ -83,7 +84,7 @@ public class QuickAddMarkupTest extends InjectingTestCase { whenTitleIs("eat #food !2"); assertTitleBecomes("eat"); assertTagsAre("food"); - assertImportanceIs(Task.IMPORTANCE_MUST_DO); + assertPriority(Priority.MEDIUM); } private void assertTagsAre(String... expectedTags) { @@ -102,7 +103,7 @@ public class QuickAddMarkupTest extends InjectingTestCase { TitleParser.parse(tagService, task, tags); } - private void assertImportanceIs(int importance) { - assertEquals(importance, (int) task.getImportance()); + private void assertPriority(int priority) { + assertEquals(priority, (int) task.getPriority()); } } diff --git a/app/src/androidTest/java/com/todoroo/astrid/service/TitleParserTest.java b/app/src/androidTest/java/com/todoroo/astrid/service/TitleParserTest.java index 65149727c..87460613e 100644 --- a/app/src/androidTest/java/com/todoroo/astrid/service/TitleParserTest.java +++ b/app/src/androidTest/java/com/todoroo/astrid/service/TitleParserTest.java @@ -15,6 +15,7 @@ import android.support.test.runner.AndroidJUnit4; import com.google.ical.values.Frequency; import com.google.ical.values.RRule; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.data.Task.Priority; import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.utility.TitleParser; import java.util.ArrayList; @@ -206,12 +207,12 @@ public class TitleParserTest extends InjectingTestCase { for (String acceptedString : acceptedStrings) { String title = "Jog " + acceptedString; Task task = taskCreator.createWithValues(null, title); - assertEquals((int) task.getImportance(), Task.IMPORTANCE_NONE); + assertEquals((int) task.getPriority(), Priority.NONE); } for (String acceptedString : acceptedStrings) { String title = acceptedString + " jog"; Task task = taskCreator.createWithValues(null, title); - assertNotSame(task.getImportance(), Task.IMPORTANCE_NONE); + assertNotSame(task.getPriority(), Priority.NONE); } } @@ -224,25 +225,25 @@ public class TitleParserTest extends InjectingTestCase { task = taskCreator.basicQuickAddTask( "Jog " + acceptedStringAtEnd); // test at end of task. should set importance. - assertEquals((int) task.getImportance(), Task.IMPORTANCE_SHOULD_DO); + assertEquals((int) task.getPriority(), Priority.LOW); } for (String acceptedStringAtEnd : acceptedStringsAtEnd) { task = taskCreator.basicQuickAddTask( acceptedStringAtEnd + " jog"); // test at beginning of task. should not set importance. - assertEquals((int) task.getImportance(), Task.IMPORTANCE_SHOULD_DO); + assertEquals((int) task.getPriority(), Priority.LOW); } for (String acceptedStringAnywhere : acceptedStringsAnywhere) { task = taskCreator.basicQuickAddTask( "Jog " + acceptedStringAnywhere); // test at end of task. should set importance. - assertEquals((int) task.getImportance(), Task.IMPORTANCE_SHOULD_DO); + assertEquals((int) task.getPriority(), Priority.LOW); task = taskCreator.basicQuickAddTask( acceptedStringAnywhere + " jog"); // test at beginning of task. should set importance. - assertEquals((int) task.getImportance(), Task.IMPORTANCE_SHOULD_DO); + assertEquals((int) task.getPriority(), Priority.LOW); } } @@ -253,20 +254,20 @@ public class TitleParserTest extends InjectingTestCase { for (String acceptedStringAtEnd : acceptedStringsAtEnd) { String title = "Jog " + acceptedStringAtEnd; Task task = taskCreator.createWithValues(null, title); - assertEquals((int) task.getImportance(), Task.IMPORTANCE_MUST_DO); + assertEquals((int) task.getPriority(), Priority.MEDIUM); title = acceptedStringAtEnd + " jog"; task = taskCreator.createWithValues(null, title); - assertNotSame(task.getImportance(), Task.IMPORTANCE_MUST_DO); + assertNotSame(task.getPriority(), Priority.MEDIUM); } for (String acceptedStringAnywhere : acceptedStringsAnywhere) { String title = "Jog " + acceptedStringAnywhere; Task task = taskCreator.createWithValues(null, title); - assertEquals((int) task.getImportance(), Task.IMPORTANCE_MUST_DO); + assertEquals((int) task.getPriority(), Priority.MEDIUM); title = acceptedStringAnywhere + " jog"; task = taskCreator.createWithValues(null, title); - assertEquals((int) task.getImportance(), Task.IMPORTANCE_MUST_DO); + assertEquals((int) task.getPriority(), Priority.MEDIUM); } } @@ -283,20 +284,20 @@ public class TitleParserTest extends InjectingTestCase { for (String acceptedStringAtEnd : acceptedStringsAtEnd) { String title = "Jog " + acceptedStringAtEnd; Task task = taskCreator.createWithValues(null, title); - assertEquals((int) task.getImportance(), Task.IMPORTANCE_DO_OR_DIE); + assertEquals((int) task.getPriority(), Priority.HIGH); title = acceptedStringAtEnd + " jog"; task = taskCreator.createWithValues(null, title); - assertNotSame(task.getImportance(), Task.IMPORTANCE_DO_OR_DIE); + assertNotSame(task.getPriority(), Priority.HIGH); } for (String acceptedStringAnywhere : acceptedStringsAnywhere) { String title = "Jog " + acceptedStringAnywhere; Task task = taskCreator.createWithValues(null, title); - assertEquals((int) task.getImportance(), Task.IMPORTANCE_DO_OR_DIE); + assertEquals((int) task.getPriority(), Priority.HIGH); title = acceptedStringAnywhere + " jog"; task = taskCreator.createWithValues(null, title); - assertEquals((int) task.getImportance(), Task.IMPORTANCE_DO_OR_DIE); + assertEquals((int) task.getPriority(), Priority.HIGH); } } diff --git a/app/src/androidTest/java/com/todoroo/astrid/sync/NewSyncTestCase.java b/app/src/androidTest/java/com/todoroo/astrid/sync/NewSyncTestCase.java index d0832fcd4..2d46d6f07 100644 --- a/app/src/androidTest/java/com/todoroo/astrid/sync/NewSyncTestCase.java +++ b/app/src/androidTest/java/com/todoroo/astrid/sync/NewSyncTestCase.java @@ -2,6 +2,7 @@ package com.todoroo.astrid.sync; import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.data.Task.Priority; import javax.inject.Inject; import org.tasks.data.TagData; import org.tasks.data.TagDataDao; @@ -11,14 +12,14 @@ import org.tasks.injection.TestComponent; public class NewSyncTestCase extends InjectingTestCase { private static final String SYNC_TASK_TITLE = "new title"; - private static final int SYNC_TASK_IMPORTANCE = Task.IMPORTANCE_MUST_DO; + private static final int SYNC_TASK_IMPORTANCE = Priority.MEDIUM; @Inject TaskDao taskDao; @Inject TagDataDao tagDataDao; private Task createTask(String title) { Task task = new Task(); task.setTitle(title); - task.setImportance(SYNC_TASK_IMPORTANCE); + task.setPriority(SYNC_TASK_IMPORTANCE); taskDao.createNew(task); return task; diff --git a/app/src/androidTest/java/org/tasks/caldav/AppleRemindersTests.java b/app/src/androidTest/java/org/tasks/caldav/AppleRemindersTests.java index fb5449e14..2d479aed3 100644 --- a/app/src/androidTest/java/org/tasks/caldav/AppleRemindersTests.java +++ b/app/src/androidTest/java/org/tasks/caldav/AppleRemindersTests.java @@ -4,7 +4,7 @@ import static junit.framework.Assert.assertEquals; import static org.tasks.TestUtilities.vtodo; import android.support.test.runner.AndroidJUnit4; -import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.data.Task.Priority; import java.util.TimeZone; import org.junit.After; import org.junit.Before; @@ -65,24 +65,21 @@ public class AppleRemindersTests { @Test public void noPriority() { - assertEquals(Task.IMPORTANCE_NONE, (int) vtodo("apple/priority_none.txt").getImportance()); + assertEquals(Priority.NONE, (int) vtodo("apple/priority_none.txt").getPriority()); } @Test public void lowPriority() { - assertEquals( - Task.IMPORTANCE_SHOULD_DO, (int) vtodo("apple/priority_low.txt").getImportance()); + assertEquals(Priority.LOW, (int) vtodo("apple/priority_low.txt").getPriority()); } @Test public void mediumPriority() { - assertEquals( - Task.IMPORTANCE_MUST_DO, (int) vtodo("apple/priority_medium.txt").getImportance()); + assertEquals(Priority.MEDIUM, (int) vtodo("apple/priority_medium.txt").getPriority()); } @Test public void highPriority() { - assertEquals( - Task.IMPORTANCE_DO_OR_DIE, (int) vtodo("apple/priority_high.txt").getImportance()); + assertEquals(Priority.HIGH, (int) vtodo("apple/priority_high.txt").getPriority()); } } diff --git a/app/src/androidTest/java/org/tasks/caldav/ThunderbirdTests.java b/app/src/androidTest/java/org/tasks/caldav/ThunderbirdTests.java index 072bb0c11..6e8abafa8 100644 --- a/app/src/androidTest/java/org/tasks/caldav/ThunderbirdTests.java +++ b/app/src/androidTest/java/org/tasks/caldav/ThunderbirdTests.java @@ -4,7 +4,7 @@ import static junit.framework.Assert.assertEquals; import static org.tasks.TestUtilities.vtodo; import android.support.test.runner.AndroidJUnit4; -import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.data.Task.Priority; import java.util.TimeZone; import org.junit.After; import org.junit.Before; @@ -65,31 +65,26 @@ public class ThunderbirdTests { @Test public void priorityNotSet() { - assertEquals( - Task.IMPORTANCE_NONE, (int) vtodo("thunderbird/basic_no_due_date.txt").getImportance()); + assertEquals(Priority.NONE, (int) vtodo("thunderbird/basic_no_due_date.txt").getPriority()); } @Test public void priorityNotSpecified() { - assertEquals( - Task.IMPORTANCE_NONE, (int) vtodo("thunderbird/priority_unspecified.txt").getImportance()); + assertEquals(Priority.NONE, (int) vtodo("thunderbird/priority_unspecified.txt").getPriority()); } @Test public void lowPriority() { - assertEquals( - Task.IMPORTANCE_SHOULD_DO, (int) vtodo("thunderbird/priority_low.txt").getImportance()); + assertEquals(Priority.LOW, (int) vtodo("thunderbird/priority_low.txt").getPriority()); } @Test public void normalPriority() { - assertEquals( - Task.IMPORTANCE_MUST_DO, (int) vtodo("thunderbird/priority_normal.txt").getImportance()); + assertEquals(Priority.MEDIUM, (int) vtodo("thunderbird/priority_normal.txt").getPriority()); } @Test public void highPriority() { - assertEquals( - Task.IMPORTANCE_DO_OR_DIE, (int) vtodo("thunderbird/priority_high.txt").getImportance()); + assertEquals(Priority.HIGH, (int) vtodo("thunderbird/priority_high.txt").getPriority()); } } diff --git a/app/src/androidTest/java/org/tasks/makers/TaskMaker.java b/app/src/androidTest/java/org/tasks/makers/TaskMaker.java index 6e9f10e98..43954eb27 100644 --- a/app/src/androidTest/java/org/tasks/makers/TaskMaker.java +++ b/app/src/androidTest/java/org/tasks/makers/TaskMaker.java @@ -45,7 +45,7 @@ public class TaskMaker { int priority = lookup.valueOf(PRIORITY, -1); if (priority >= 0) { - task.setImportance(priority); + task.setPriority(priority); } DateTime dueDate = lookup.valueOf(DUE_DATE, (DateTime) null); diff --git a/app/src/main/java/com/todoroo/astrid/data/Task.java b/app/src/main/java/com/todoroo/astrid/data/Task.java index 4ec9cd221..e93e3ccdb 100644 --- a/app/src/main/java/com/todoroo/astrid/data/Task.java +++ b/app/src/main/java/com/todoroo/astrid/data/Task.java @@ -5,6 +5,7 @@ */ package com.todoroo.astrid.data; +import static java.lang.annotation.RetentionPolicy.SOURCE; import static org.tasks.date.DateTimeUtils.newDateTime; import android.arch.persistence.room.ColumnInfo; @@ -16,6 +17,7 @@ import android.content.ContentValues; import android.database.Cursor; import android.os.Parcel; import android.os.Parcelable; +import android.support.annotation.IntDef; import android.text.TextUtils; import com.google.common.base.Strings; import com.google.ical.values.RRule; @@ -25,6 +27,7 @@ import com.todoroo.andlib.data.Property.LongProperty; import com.todoroo.andlib.data.Property.StringProperty; import com.todoroo.andlib.data.Table; import com.todoroo.andlib.utility.DateUtilities; +import java.lang.annotation.Retention; import java.util.ArrayList; import java.util.HashMap; import org.tasks.backup.XmlReader; @@ -96,10 +99,15 @@ public class Task implements Parcelable { /** reminder mode five times (exclusive with non-stop) */ public static final int NOTIFY_MODE_FIVE = 1 << 4; - public static final int IMPORTANCE_DO_OR_DIE = 0; - public static final int IMPORTANCE_MUST_DO = 1; - public static final int IMPORTANCE_SHOULD_DO = 2; - public static final int IMPORTANCE_NONE = 3; + @Retention(SOURCE) + @IntDef({Priority.HIGH, Priority.MEDIUM, Priority.LOW, Priority.NONE}) + public @interface Priority { + int HIGH = 0; + int MEDIUM = 1; + int LOW = 2; + int NONE = 3; + } + public static final Creator CREATOR = new Creator() { @Override @@ -145,9 +153,8 @@ public class Task implements Parcelable { /** Name of Task */ @ColumnInfo(name = "title") public String title = ""; - /** Importance of Task (see importance flags) */ @ColumnInfo(name = "importance") - public Integer importance = IMPORTANCE_NONE; + public Integer priority = Priority.NONE; /** Unixtime Task is due, 0 if not set */ @ColumnInfo(name = "dueDate") public Long dueDate = 0L; @@ -251,9 +258,9 @@ public class Task implements Parcelable { } title = _cursor.getString(_cursorIndexOfTitle); if (_cursor.isNull(_cursorIndexOfImportance)) { - importance = null; + priority = null; } else { - importance = _cursor.getInt(_cursorIndexOfImportance); + priority = _cursor.getInt(_cursorIndexOfImportance); } if (_cursor.isNull(_cursorIndexOfDueDate)) { dueDate = null; @@ -350,7 +357,7 @@ public class Task implements Parcelable { elapsedSeconds = reader.readInteger("elapsedSeconds"); estimatedSeconds = reader.readInteger("estimatedSeconds"); hideUntil = reader.readLong("hideUntil"); - importance = reader.readInteger("importance"); + priority = reader.readInteger("importance"); modified = reader.readLong("modified"); notes = reader.readString("notes"); recurrence = reader.readString("recurrence"); @@ -375,7 +382,7 @@ public class Task implements Parcelable { estimatedSeconds = parcel.readInt(); hideUntil = parcel.readLong(); id = parcel.readLong(); - importance = parcel.readInt(); + priority = parcel.readInt(); modified = parcel.readLong(); notes = parcel.readString(); recurrence = parcel.readString(); @@ -684,12 +691,12 @@ public class Task implements Parcelable { return calendarUri; } - public Integer getImportance() { - return importance; + public @Priority Integer getPriority() { + return priority; } - public void setImportance(Integer importance) { - this.importance = importance; + public void setPriority(@Priority Integer priority) { + this.priority = priority; } public Long getCompletionDate() { @@ -790,7 +797,7 @@ public class Task implements Parcelable { dest.writeInt(estimatedSeconds); dest.writeLong(hideUntil); dest.writeLong(id); - dest.writeInt(importance); + dest.writeInt(priority); dest.writeLong(modified); dest.writeString(notes); dest.writeString(recurrence); @@ -814,8 +821,8 @@ public class Task implements Parcelable { + ", title='" + title + '\'' - + ", importance=" - + importance + + ", priority=" + + priority + ", dueDate=" + dueDate + ", transitoryData=" @@ -883,7 +890,7 @@ public class Task implements Parcelable { if (title != null ? !title.equals(task.title) : task.title != null) { return false; } - if (importance != null ? !importance.equals(task.importance) : task.importance != null) { + if (priority != null ? !priority.equals(task.priority) : task.priority != null) { return false; } if (dueDate != null ? !dueDate.equals(task.dueDate) : task.dueDate != null) { @@ -973,9 +980,7 @@ public class Task implements Parcelable { if (title != null ? !title.equals(original.title) : original.title != null) { return false; } - if (importance != null - ? !importance.equals(original.importance) - : original.importance != null) { + if (priority != null ? !priority.equals(original.priority) : original.priority != null) { return false; } if (dueDate != null ? !dueDate.equals(original.dueDate) : original.dueDate != null) { @@ -1080,7 +1085,7 @@ public class Task implements Parcelable { if (title != null ? !title.equals(task.title) : task.title != null) { return false; } - if (importance != null ? !importance.equals(task.importance) : task.importance != null) { + if (priority != null ? !priority.equals(task.priority) : task.priority != null) { return false; } if (dueDate != null ? !dueDate.equals(task.dueDate) : task.dueDate != null) { @@ -1154,7 +1159,7 @@ public class Task implements Parcelable { public int hashCode() { int result = id != null ? id.hashCode() : 0; result = 31 * result + (title != null ? title.hashCode() : 0); - result = 31 * result + (importance != null ? importance.hashCode() : 0); + result = 31 * result + (priority != null ? priority.hashCode() : 0); result = 31 * result + (dueDate != null ? dueDate.hashCode() : 0); result = 31 * result + (hideUntil != null ? hideUntil.hashCode() : 0); result = 31 * result + (created != null ? created.hashCode() : 0); diff --git a/app/src/main/java/com/todoroo/astrid/provider/Astrid2TaskProvider.java b/app/src/main/java/com/todoroo/astrid/provider/Astrid2TaskProvider.java index dcefb33d4..99a6dc832 100644 --- a/app/src/main/java/com/todoroo/astrid/provider/Astrid2TaskProvider.java +++ b/app/src/main/java/com/todoroo/astrid/provider/Astrid2TaskProvider.java @@ -176,10 +176,10 @@ public class Astrid2TaskProvider extends InjectingContentProvider { Object[] values = new Object[7]; values[0] = task.getTitle(); - values[1] = importanceColors.get(task.getImportance()); + values[1] = importanceColors.get(task.getPriority()); values[2] = task.getDueDate(); values[3] = task.getDueDate(); - values[4] = task.getImportance(); + values[4] = task.getPriority(); values[5] = task.getId(); values[6] = taskTags; diff --git a/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java b/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java index 0fbafa10b..e18231c69 100644 --- a/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java +++ b/app/src/main/java/com/todoroo/astrid/service/TaskCreator.java @@ -11,6 +11,7 @@ import com.todoroo.astrid.api.GtasksFilter; import com.todoroo.astrid.api.PermaSql; import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.data.Task.Priority; import com.todoroo.astrid.gcal.GCalHelper; import com.todoroo.astrid.helper.UUIDHelper; import com.todoroo.astrid.tags.TagService; @@ -125,9 +126,9 @@ public class TaskCreator { task.setUuid(UUIDHelper.newUUID()); - task.setImportance( + task.setPriority( preferences.getIntegerFromString( - R.string.p_default_importance_key, Task.IMPORTANCE_SHOULD_DO)); + R.string.p_default_importance_key, Priority.LOW)); task.setDueDate( Task.createDueDate( preferences.getIntegerFromString(R.string.p_default_urgency_key, Task.URGENCY_NONE), @@ -163,7 +164,7 @@ public class TaskCreator { task.setDueDate(Long.valueOf((String) value)); break; case "importance": - task.setImportance(Integer.valueOf((String) value)); + task.setPriority(Integer.valueOf((String) value)); break; default: tracker.reportEvent(Tracking.Events.TASK_CREATION_FAILED, "Unhandled key: " + key); diff --git a/app/src/main/java/com/todoroo/astrid/ui/EditTitleControlSet.java b/app/src/main/java/com/todoroo/astrid/ui/EditTitleControlSet.java index f3545ffe0..8859b7648 100644 --- a/app/src/main/java/com/todoroo/astrid/ui/EditTitleControlSet.java +++ b/app/src/main/java/com/todoroo/astrid/ui/EditTitleControlSet.java @@ -72,7 +72,7 @@ public class EditTitleControlSet extends TaskEditControlFragment { isComplete = task.isCompleted(); title = task.getTitle(); isRepeating = !TextUtils.isEmpty(task.getRecurrence()); - importanceValue = task.getImportance(); + importanceValue = task.getPriority(); showKeyboard = task.isNew() && Strings.isNullOrEmpty(title); } else { isComplete = savedInstanceState.getBoolean(EXTRA_COMPLETE); diff --git a/app/src/main/java/com/todoroo/astrid/utility/TitleParser.java b/app/src/main/java/com/todoroo/astrid/utility/TitleParser.java index eb575ed47..4ff858b23 100644 --- a/app/src/main/java/com/todoroo/astrid/utility/TitleParser.java +++ b/app/src/main/java/com/todoroo/astrid/utility/TitleParser.java @@ -11,6 +11,7 @@ import com.google.ical.values.RRule; import com.mdimension.jchronic.AstridChronic; import com.mdimension.jchronic.Chronic; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.data.Task.Priority; import com.todoroo.astrid.tags.TagService; import java.util.ArrayList; import java.util.Calendar; @@ -77,31 +78,30 @@ public class TitleParser { task.setTitle(inputText.trim()); } - // helper method for priorityHelper. converts the string to a Task Importance private static int strToPriority(String priorityStr) { if (priorityStr != null) { priorityStr.toLowerCase().trim(); } - int priority = Task.IMPORTANCE_DO_OR_DIE; + int priority = Priority.HIGH; if ("0".equals(priorityStr) || "!0".equals(priorityStr) || "least".equals(priorityStr) || "lowest".equals(priorityStr)) { - priority = Task.IMPORTANCE_NONE; + priority = Priority.NONE; } if ("!".equals(priorityStr) || "!1".equals(priorityStr) || "bang".equals(priorityStr) || "1".equals(priorityStr) || "low".equals(priorityStr)) { - priority = Task.IMPORTANCE_SHOULD_DO; + priority = Priority.LOW; } if ("!!".equals(priorityStr) || "!2".equals(priorityStr) || "bang bang".equals(priorityStr) || "2".equals(priorityStr) || "high".equals(priorityStr)) { - priority = Task.IMPORTANCE_MUST_DO; + priority = Priority.MEDIUM; } return priority; } @@ -121,7 +121,7 @@ public class TitleParser { while (true) { Matcher m = importancePattern.matcher(inputText); if (m.find()) { - task.setImportance(strToPriority(m.group(2).trim())); + task.setPriority(strToPriority(m.group(2).trim())); int start = m.start() == 0 ? 0 : m.start() + 1; inputText = inputText.substring(0, start) + inputText.substring(m.end()); diff --git a/app/src/main/java/org/tasks/Notifier.java b/app/src/main/java/org/tasks/Notifier.java index 04dfbbd4f..a7ed7953d 100644 --- a/app/src/main/java/org/tasks/Notifier.java +++ b/app/src/main/java/org/tasks/Notifier.java @@ -81,7 +81,7 @@ public class Notifier { int maxPriority = 3; for (Task task : tasks) { style.addLine(task.getTitle()); - maxPriority = Math.min(maxPriority, task.getImportance()); + maxPriority = Math.min(maxPriority, task.getPriority()); } NotificationCompat.Builder builder = diff --git a/app/src/main/java/org/tasks/caldav/CaldavConverter.java b/app/src/main/java/org/tasks/caldav/CaldavConverter.java index b8f9bd79f..434d66058 100644 --- a/app/src/main/java/org/tasks/caldav/CaldavConverter.java +++ b/app/src/main/java/org/tasks/caldav/CaldavConverter.java @@ -7,6 +7,7 @@ import static org.tasks.date.DateTimeUtils.newDateTime; import at.bitfire.ical4android.InvalidCalendarException; import com.google.common.base.Strings; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.data.Task.Priority; import java.io.IOException; import java.io.StringReader; import java.text.DateFormat; @@ -39,7 +40,7 @@ public class CaldavConverter { } local.setTitle(remote.getSummary()); local.setNotes(remote.getDescription()); - local.setImportance(fromRemote(remote.getPriority())); + local.setPriority(fromRemote(remote.getPriority())); RRule repeatRule = remote.getRRule(); if (repeatRule == null) { local.setRecurrence(""); @@ -70,24 +71,24 @@ public class CaldavConverter { } } - private static int fromRemote(int remotePriority) { + private static @Priority int fromRemote(int remotePriority) { if (remotePriority == 0) { - return Task.IMPORTANCE_NONE; + return Priority.NONE; } if (remotePriority == 5) { - return Task.IMPORTANCE_MUST_DO; + return Priority.MEDIUM; } - return remotePriority < 5 ? Task.IMPORTANCE_DO_OR_DIE : Task.IMPORTANCE_SHOULD_DO; + return remotePriority < 5 ? Priority.HIGH : Priority.LOW; } private static int toRemote(int remotePriority, int localPriority) { - if (localPriority == Task.IMPORTANCE_NONE) { + if (localPriority == Priority.NONE) { return 0; } - if (localPriority == Task.IMPORTANCE_MUST_DO) { + if (localPriority == Priority.MEDIUM) { return 5; } - if (localPriority == Task.IMPORTANCE_DO_OR_DIE) { + if (localPriority == Priority.HIGH) { return remotePriority < 5 ? Math.max(1, remotePriority) : 1; } return remotePriority > 5 ? Math.min(9, remotePriority) : 9; @@ -140,7 +141,7 @@ public class CaldavConverter { remote.setRRule(null); } remote.setLastModified(newDateTime(task.getModificationDate()).toUTC().getMillis()); - remote.setPriority(toRemote(remote.getPriority(), task.getImportance())); + remote.setPriority(toRemote(remote.getPriority(), task.getPriority())); return remote; } } diff --git a/app/src/main/java/org/tasks/filters/FilterCriteriaProvider.java b/app/src/main/java/org/tasks/filters/FilterCriteriaProvider.java index b070b4d0c..6423c7887 100644 --- a/app/src/main/java/org/tasks/filters/FilterCriteriaProvider.java +++ b/app/src/main/java/org/tasks/filters/FilterCriteriaProvider.java @@ -16,6 +16,7 @@ import com.todoroo.astrid.api.PermaSql; import com.todoroo.astrid.api.TextInputCriterion; import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.data.Task.Priority; import com.todoroo.astrid.gtasks.GtasksListService; import com.todoroo.astrid.tags.TagService; import java.util.HashMap; @@ -65,7 +66,7 @@ public class FilterCriteriaProvider { result.add(getTagFilter()); result.add(getTagNameContainsFilter()); result.add(getDueDateFilter()); - result.add(getImportanceFilter()); + result.add(getPriorityFilter()); result.add(getTaskTitleContainsFilter()); if (syncAdapters.isGoogleTaskSyncEnabled()) { result.add(getGtasksFilterCriteria()); @@ -145,13 +146,13 @@ public class FilterCriteriaProvider { r.getString(R.string.CFC_dueBefore_name)); } - private CustomFilterCriterion getImportanceFilter() { + private CustomFilterCriterion getPriorityFilter() { String[] entryValues = new String[] { - Integer.toString(Task.IMPORTANCE_DO_OR_DIE), - Integer.toString(Task.IMPORTANCE_MUST_DO), - Integer.toString(Task.IMPORTANCE_SHOULD_DO), - Integer.toString(Task.IMPORTANCE_NONE), + Integer.toString(Priority.HIGH), + Integer.toString(Priority.MEDIUM), + Integer.toString(Priority.LOW), + Integer.toString(Priority.NONE), }; String[] entries = new String[] {"!!!", "!!", "!", "o"}; Map values = new HashMap<>(); diff --git a/app/src/main/java/org/tasks/locale/receiver/TaskerTaskCreator.java b/app/src/main/java/org/tasks/locale/receiver/TaskerTaskCreator.java index 2223cbe86..52d771b68 100644 --- a/app/src/main/java/org/tasks/locale/receiver/TaskerTaskCreator.java +++ b/app/src/main/java/org/tasks/locale/receiver/TaskerTaskCreator.java @@ -5,6 +5,7 @@ import static org.tasks.time.DateTimeUtils.currentTimeMillis; import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.data.Task.Priority; import com.todoroo.astrid.service.TaskCreator; import javax.inject.Inject; import org.tasks.locale.bundle.TaskCreationBundle; @@ -63,7 +64,7 @@ public class TaskerTaskCreator { if (!isNullOrEmpty(priorityString)) { try { int priority = Integer.parseInt(priorityString); - task.setImportance(Math.max(0, Math.min(3, priority))); + task.setPriority(Math.max(Priority.HIGH, Math.min(Priority.NONE, priority))); } catch (NumberFormatException e) { Timber.e(e); } diff --git a/app/src/main/java/org/tasks/notifications/NotificationManager.java b/app/src/main/java/org/tasks/notifications/NotificationManager.java index 3ba882774..44bf92497 100644 --- a/app/src/main/java/org/tasks/notifications/NotificationManager.java +++ b/app/src/main/java/org/tasks/notifications/NotificationManager.java @@ -278,7 +278,7 @@ public class NotificationManager { String title = task.getTitle(); style.addLine(title); titles.add(title); - maxPriority = Math.min(maxPriority, task.getImportance()); + maxPriority = Math.min(maxPriority, task.getPriority()); } for (org.tasks.notifications.Notification notification : newNotifications) { Task task = tryFind(tasks, t -> t.getId() == notification.taskId).orNull(); @@ -373,7 +373,7 @@ public class NotificationManager { .setCategory(NotificationCompat.CATEGORY_REMINDER) .setContentTitle(taskTitle) .setContentText(context.getString(R.string.app_name)) - .setColor(checkBoxes.getPriorityColor(task.getImportance())) + .setColor(checkBoxes.getPriorityColor(task.getPriority())) .setSmallIcon(R.drawable.ic_check_white_24dp) .setWhen(when) .setOnlyAlertOnce(false) diff --git a/app/src/main/java/org/tasks/tasklist/ViewHolder.java b/app/src/main/java/org/tasks/tasklist/ViewHolder.java index 459233569..278d484b2 100644 --- a/app/src/main/java/org/tasks/tasklist/ViewHolder.java +++ b/app/src/main/java/org/tasks/tasklist/ViewHolder.java @@ -245,11 +245,11 @@ class ViewHolder extends RecyclerView.ViewHolder { checkBoxView.setChecked(completed); if (completed) { - checkBoxView.setImageDrawable(checkBoxes.getCompletedCheckbox(task.getImportance())); + checkBoxView.setImageDrawable(checkBoxes.getCompletedCheckbox(task.getPriority())); } else if (TextUtils.isEmpty(task.getRecurrence())) { - checkBoxView.setImageDrawable(checkBoxes.getCheckBox(task.getImportance())); + checkBoxView.setImageDrawable(checkBoxes.getCheckBox(task.getPriority())); } else { - checkBoxView.setImageDrawable(checkBoxes.getRepeatingCheckBox(task.getImportance())); + checkBoxView.setImageDrawable(checkBoxes.getRepeatingCheckBox(task.getPriority())); } checkBoxView.invalidate(); } diff --git a/app/src/main/java/org/tasks/ui/CheckBoxes.java b/app/src/main/java/org/tasks/ui/CheckBoxes.java index f3262c6a3..0340e7acb 100644 --- a/app/src/main/java/org/tasks/ui/CheckBoxes.java +++ b/app/src/main/java/org/tasks/ui/CheckBoxes.java @@ -32,10 +32,10 @@ public class CheckBoxes { completedCheckboxes = wrapDrawable(context, R.drawable.ic_check_box_24dp); priorityColors = ImmutableList.of( - getColor(context, R.color.importance_1), - getColor(context, R.color.importance_2), - getColor(context, R.color.importance_3), - getColor(context, R.color.importance_4)); + getColor(context, R.color.priority_1), + getColor(context, R.color.priority_2), + getColor(context, R.color.priority_3), + getColor(context, R.color.priority_4)); priorityColorsArray = Ints.toArray(priorityColors); } @@ -50,20 +50,20 @@ public class CheckBoxes { private static Drawable getDrawable(Context context, int resId, int importance) { Drawable original = ContextCompat.getDrawable(context, resId); Drawable wrapped = DrawableCompat.wrap(original.mutate()); - DrawableCompat.setTint(wrapped, getColor(context, getImportanceResId(importance))); + DrawableCompat.setTint(wrapped, getColor(context, getPriorityResId(importance))); return wrapped; } - private static int getImportanceResId(int importance) { + private static int getPriorityResId(int importance) { switch (importance) { case 0: - return R.color.importance_1; + return R.color.priority_1; case 1: - return R.color.importance_2; + return R.color.priority_2; case 2: - return R.color.importance_3; + return R.color.priority_3; default: - return R.color.importance_4; + return R.color.priority_4; } } diff --git a/app/src/main/java/org/tasks/ui/PriorityControlSet.java b/app/src/main/java/org/tasks/ui/PriorityControlSet.java index 7b00f22da..fdb89d42c 100644 --- a/app/src/main/java/org/tasks/ui/PriorityControlSet.java +++ b/app/src/main/java/org/tasks/ui/PriorityControlSet.java @@ -15,6 +15,7 @@ import android.widget.CompoundButton; import butterknife.BindView; import butterknife.OnClick; import com.todoroo.astrid.data.Task; +import com.todoroo.astrid.data.Task.Priority; import javax.inject.Inject; import org.tasks.R; import org.tasks.injection.FragmentComponent; @@ -38,7 +39,7 @@ public class PriorityControlSet extends TaskEditControlFragment { AppCompatRadioButton priorityNone; private OnPriorityChanged callback; - private int priority; + private @Priority int priority; @Override public void onAttach(Activity activity) { @@ -53,7 +54,7 @@ public class PriorityControlSet extends TaskEditControlFragment { } @OnClick({R.id.priority_high, R.id.priority_medium, R.id.priority_low, R.id.priority_none}) - void onImportanceChanged(CompoundButton button) { + void onPriorityChanged(CompoundButton button) { priority = getPriority(); callback.onPriorityChange(priority); } @@ -64,7 +65,7 @@ public class PriorityControlSet extends TaskEditControlFragment { LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View view = super.onCreateView(inflater, container, savedInstanceState); if (savedInstanceState == null) { - priority = task.getImportance(); + priority = task.getPriority(); } else { priority = savedInstanceState.getInt(EXTRA_PRIORITY); } @@ -110,12 +111,12 @@ public class PriorityControlSet extends TaskEditControlFragment { @Override public void apply(Task task) { - task.setImportance(priority); + task.setPriority(priority); } @Override public boolean hasChanges(Task original) { - return original.getImportance() != priority; + return original.getPriority() != priority; } private void tintRadioButton(AppCompatRadioButton radioButton, int priority) { @@ -129,17 +130,17 @@ public class PriorityControlSet extends TaskEditControlFragment { new int[] {color, color})); } - private int getPriority() { + private @Priority int getPriority() { if (priorityHigh.isChecked()) { - return 0; + return Priority.HIGH; } if (priorityMedium.isChecked()) { - return 1; + return Priority.MEDIUM; } if (priorityLow.isChecked()) { - return 2; + return Priority.LOW; } - return 3; + return Priority.NONE; } public interface OnPriorityChanged { diff --git a/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java b/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java index a14dc485b..9bcde475a 100644 --- a/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java +++ b/app/src/main/java/org/tasks/widget/ScrollableViewsFactory.java @@ -128,11 +128,11 @@ class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFactory { private Bitmap getCheckbox(Task task) { if (task.isCompleted()) { - return checkBoxes.getCompletedCheckbox(task.getImportance()); + return checkBoxes.getCompletedCheckbox(task.getPriority()); } else if (TextUtils.isEmpty(task.getRecurrence())) { - return checkBoxes.getCheckBox(task.getImportance()); + return checkBoxes.getCheckBox(task.getPriority()); } else { - return checkBoxes.getRepeatingCheckBox(task.getImportance()); + return checkBoxes.getRepeatingCheckBox(task.getPriority()); } } diff --git a/app/src/main/res/layout/control_set_priority.xml b/app/src/main/res/layout/control_set_priority.xml index f88777f1d..43cf814cf 100644 --- a/app/src/main/res/layout/control_set_priority.xml +++ b/app/src/main/res/layout/control_set_priority.xml @@ -31,25 +31,25 @@ diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 88f8ce207..3bb30533a 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -106,10 +106,10 @@ #303030 #202020 - @color/red_500 - @color/amber_500 - @color/blue_500 - @color/grey_500 + @color/red_500 + @color/amber_500 + @color/blue_500 + @color/grey_500 #f4b400 @color/grey_800 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 67a507dd1..11de209a5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -299,7 +299,6 @@ File %1$s contained %2$s.\n\n Default deadline - Default priority