diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7a341659d..48655f466 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -74,6 +74,7 @@
Goal
Finished
Overdue by
+ H
New Task
Tags:
No Tags
diff --git a/src/com/timsu/astrid/activities/TaskListAdapter.java b/src/com/timsu/astrid/activities/TaskListAdapter.java
index aedcf77a5..f9f4ee04a 100644
--- a/src/com/timsu/astrid/activities/TaskListAdapter.java
+++ b/src/com/timsu/astrid/activities/TaskListAdapter.java
@@ -113,7 +113,10 @@ public class TaskListAdapter extends ArrayAdapter {
view.setTag(task);
progress.setTag(task);
- name.setText(task.getName());
+ String nameValue = task.getName();
+ if(task.getHiddenUntil() != null && task.getHiddenUntil().after(new Date()))
+ nameValue = "(" + r.getString(R.string.taskList_hiddenPrefix) + ") " + nameValue;
+ name.setText(nameValue);
if(task.getTimerStart() != null)
timer.setImageDrawable(r.getDrawable(R.drawable.ic_dialog_time));
progress.setChecked(task.isTaskCompleted());
diff --git a/src/com/timsu/astrid/activities/TaskViewNotifier.java b/src/com/timsu/astrid/activities/TaskViewNotifier.java
index 0afa5b730..d33cae85b 100644
--- a/src/com/timsu/astrid/activities/TaskViewNotifier.java
+++ b/src/com/timsu/astrid/activities/TaskViewNotifier.java
@@ -29,7 +29,7 @@ public class TaskViewNotifier extends TaskView {
private void showNotificationAlert() {
Resources r = getResources();
- // clear residual, schedule the next one
+ // clear notifications
Notifications.clearAllNotifications(this, model.getTaskIdentifier());
Notifications.updateAlarm(this, model, true);
diff --git a/src/com/timsu/astrid/utilities/Notifications.java b/src/com/timsu/astrid/utilities/Notifications.java
index abfc1e8c7..bcaafd134 100644
--- a/src/com/timsu/astrid/utilities/Notifications.java
+++ b/src/com/timsu/astrid/utilities/Notifications.java
@@ -29,12 +29,12 @@ public class Notifications extends BroadcastReceiver {
// stuff for scheduling
private static final int MIN_INTERVAL_SECONDS = 300;
- private static final float FUDGE_MIN = 0.4f;
- private static final float FUDGE_MAX = 1.1f;
+ private static final int FUDGE_MIN_SECS = -1200;
+ private static final int FUDGE_MAX_SECS = 1200;
/** # 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 */
- private static final int TIME_IN_PAST_OFFSET = 60;
+ private static final int TIME_IN_PAST_OFFSET = 120;
/** # of seconds after first deadline reminder to repeat */
private static final int DEADLINE_REPEAT = 600;
/** Minimum number of seconds before you see a notification on something
@@ -127,9 +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 flexyInterval = interval * (int)(FUDGE_MIN + random.nextFloat()
- * (FUDGE_MAX - FUDGE_MIN));
- int untilNextInterval = flexyInterval - currentSeconds % flexyInterval;
+ int untilNextInterval = interval - currentSeconds % interval;
+ untilNextInterval += FUDGE_MIN_SECS + (int)(random.nextFloat()
+ * (FUDGE_MAX_SECS - FUDGE_MIN_SECS));
if(untilNextInterval < MIN_INTERVAL_SECONDS)
untilNextInterval = MIN_INTERVAL_SECONDS;
when = System.currentTimeMillis() + untilNextInterval * 1000;