From c44321ac1a654c646d5a6f28b8018ccf1a9e1268 Mon Sep 17 00:00:00 2001 From: Tim Su Date: Sun, 28 Dec 2008 05:02:03 +0000 Subject: [PATCH] Slight change to notification logic. Tweaked a lot of the colors. --- AndroidManifest.xml | 4 ++-- res/drawable/strikeout.png | Bin 176 -> 179 bytes res/values/colors.xml | 4 ++-- res/values/strings.xml | 4 ++++ src/com/timsu/astrid/activities/TaskList.java | 19 ++++++++++++++---- .../astrid/data/task/TaskController.java | 5 ++++- .../timsu/astrid/utilities/Notifications.java | 9 +++++---- 7 files changed, 32 insertions(+), 13 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 7f43b789f..063c6761e 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="20" + android:versionName="1.7.10"> diff --git a/res/drawable/strikeout.png b/res/drawable/strikeout.png index 608cb239ee7c2030aa8c523a06ccfc263b538a44..175cac2ac1590da52944633be4655e7608b6e3a9 100644 GIT binary patch delta 103 zcmdnMxS4T+IVS@M{B+)3KhZ%UScXMQVp_-9G@y{Nr;B5V$MLt9Hu4^D;5qET#bL88 zJpEX~$6cHe0;^WVO}|^3_KxWa|A|P3hAN>6NBkl}?H^3xoEThH{Q+d8r>mdKI;Vst E0A*DsZU6uP delta 100 zcmV-q0Gt1_0k8p(Hwpg${{a7>y{D6rKp;>X3JwhF^X(1*001yaL_t(Y$L-Ql3BUjl z!_X8q|B^Eq_pv+$p%jwj@1}Yg@BlBcvjqUulYnh@!XzK&C #F09EA6 - #ffaaaaaa + #ff777777 #ffFFBF9E #ffF0E89E - #ffccffaa + #ff888888 #ff888888 #ff83ffa9 diff --git a/res/values/strings.xml b/res/values/strings.xml index d22cf1545..7a341659d 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -37,6 +37,10 @@ 1 Task %d Tasks + + %d / %d Active + %d / %d Active + 1 Tag %d Tags diff --git a/src/com/timsu/astrid/activities/TaskList.java b/src/com/timsu/astrid/activities/TaskList.java index e2f34c4b6..c91dfcd0d 100644 --- a/src/com/timsu/astrid/activities/TaskList.java +++ b/src/com/timsu/astrid/activities/TaskList.java @@ -194,7 +194,6 @@ public class TaskList extends Activity { if(filterTag != null) { List tasks = tagController.getTaggedTasks(this, filterTag.getTagIdentifier()); - tasksCursor = controller.getTaskListCursorById(tasks); } else { if(filterShowDone) @@ -202,15 +201,22 @@ public class TaskList extends Activity { else tasksCursor = controller.getActiveTaskListCursor(); } - startManagingCursor(tasksCursor); + taskArray = controller.createTaskListFromCursor(tasksCursor, !filterShowHidden); int hiddenTasks = tasksCursor.getCount() - taskArray.size(); + int doneTasks = 0; + for(TaskModelForList task : taskArray) + if(task.isTaskCompleted()) + doneTasks++; + int activeTasks = taskArray.size() - doneTasks; // hide "add" button if we have a few tasks if(taskArray.size() > 2) addButton.setVisibility(View.GONE); + else + addButton.setVisibility(View.VISIBLE); // set up the title StringBuilder title = new StringBuilder(). @@ -219,8 +225,13 @@ public class TaskList extends Activity { title.append(r.getString(R.string.taskList_titleTagPrefix, filterTag.getName())).append(" "); } - title.append(r.getQuantityString(R.plurals.Ntasks, - taskArray.size(), taskArray.size())); + + if(doneTasks > 0) + title.append(r.getQuantityString(R.plurals.NactiveTasks, + activeTasks, activeTasks, taskArray.size())); + else + title.append(r.getQuantityString(R.plurals.Ntasks, + taskArray.size(), taskArray.size())); if(hiddenTasks > 0) title.append(" (+").append(hiddenTasks).append(" "). append(r.getString(R.string.taskList_hiddenSuffix)).append(")"); diff --git a/src/com/timsu/astrid/data/task/TaskController.java b/src/com/timsu/astrid/data/task/TaskController.java index e108217a5..3d88c7962 100644 --- a/src/com/timsu/astrid/data/task/TaskController.java +++ b/src/com/timsu/astrid/data/task/TaskController.java @@ -160,6 +160,9 @@ public class TaskController extends AbstractController { long id = task.getTaskIdentifier().getId(); ContentValues values = task.getSetValues(); + if(values.size() == 0) // nothing changed + return true; + // set completion date if(values.containsKey(AbstractTaskModel.PROGRESS_PERCENTAGE) && values.getAsInteger(AbstractTaskModel.PROGRESS_PERCENTAGE) @@ -167,7 +170,7 @@ public class TaskController extends AbstractController { values.put(AbstractTaskModel.COMPLETION_DATE, System.currentTimeMillis()); } - saveSucessful = database.update(TASK_TABLE_NAME, task.getSetValues(), + saveSucessful = database.update(TASK_TABLE_NAME, values, KEY_ROWID + "=" + id, null) > 0; } diff --git a/src/com/timsu/astrid/utilities/Notifications.java b/src/com/timsu/astrid/utilities/Notifications.java index aaf76b625..abfc1e8c7 100644 --- a/src/com/timsu/astrid/utilities/Notifications.java +++ b/src/com/timsu/astrid/utilities/Notifications.java @@ -29,8 +29,8 @@ public class Notifications extends BroadcastReceiver { // stuff for scheduling private static final int MIN_INTERVAL_SECONDS = 300; - private static final float FUDGE_MIN = 0.2f; - private static final float FUDGE_MAX = 0.8f; + private static final float FUDGE_MIN = 0.4f; + private static final float FUDGE_MAX = 1.1f; /** # of seconds before a deadline to notify */ private static final int DEADLINE_NOTIFY_SECS = 3600; /** # of seconds after now, if a deadline is in the past */ @@ -127,8 +127,9 @@ public class Notifications extends BroadcastReceiver { // compute, and add a fudge factor to mix things up a bit interval = task.getNotificationIntervalSeconds(); int currentSeconds = (int)(System.currentTimeMillis() / 1000); - int untilNextInterval = interval - currentSeconds % interval; - untilNextInterval *= FUDGE_MIN + random.nextFloat() * (FUDGE_MAX - FUDGE_MIN); + int flexyInterval = interval * (int)(FUDGE_MIN + random.nextFloat() + * (FUDGE_MAX - FUDGE_MIN)); + int untilNextInterval = flexyInterval - currentSeconds % flexyInterval; if(untilNextInterval < MIN_INTERVAL_SECONDS) untilNextInterval = MIN_INTERVAL_SECONDS; when = System.currentTimeMillis() + untilNextInterval * 1000;