From 2698abcdd223de513c71b051ed5071277949bca7 Mon Sep 17 00:00:00 2001 From: Tim Su Date: Sat, 24 Jan 2009 04:57:29 +0000 Subject: [PATCH] Made Astrid annoying mode use the device's full volume. Also hide postpone menu for tasks w/ no deadlines and stuff. --- AndroidManifest.xml | 4 ++-- res/values/strings.xml | 2 +- src/com/timsu/astrid/activities/TaskListAdapter.java | 8 +++++--- src/com/timsu/astrid/data/task/TaskModelForRepeat.java | 3 +++ src/com/timsu/astrid/utilities/Notifications.java | 8 ++++++++ 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 62eca3dcc..3b34c324d 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="67" + android:versionName="2.1.0"> diff --git a/res/values/strings.xml b/res/values/strings.xml index 96bd8af8a..38754145e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -296,7 +296,7 @@ Wish me luck!\n notif_annoy Persistent Mode - If checked, you must view reminders before clearing them + If checked, you must view reminders before clearing them (also LED) notification_ringtone Notification Ringtone diff --git a/src/com/timsu/astrid/activities/TaskListAdapter.java b/src/com/timsu/astrid/activities/TaskListAdapter.java index d0a9d75a8..5a3331a00 100644 --- a/src/com/timsu/astrid/activities/TaskListAdapter.java +++ b/src/com/timsu/astrid/activities/TaskListAdapter.java @@ -163,7 +163,7 @@ public class TaskListAdapter extends ArrayAdapter { String nameValue = task.getName(); if(task.getHiddenUntil() != null && task.getHiddenUntil().after(new Date())) { nameValue = "(" + r.getString(R.string.taskList_hiddenPrefix) + ") " + nameValue; - task.putCachedLabel(KEY_HIDDEN, ""); + task.putCachedLabel(KEY_HIDDEN, "y"); } cachedResult = nameValue.toString(); task.putCachedLabel(KEY_NAME, cachedResult); @@ -211,7 +211,7 @@ public class TaskListAdapter extends ArrayAdapter { } else { taskOverdue = true; label.append(r.getString(R.string.taskList_overdueBy)).append(" "); - task.putCachedLabel(KEY_OVERDUE, ""); + task.putCachedLabel(KEY_OVERDUE, "y"); } label.append(DateUtilities.getDurationString(r, (int)Math.abs(timeLeft/1000), 1)); @@ -401,7 +401,9 @@ public class TaskListAdapter extends ArrayAdapter { timerTitle = R.string.taskList_context_stopTimer; menu.add(position, CONTEXT_TIMER_ID, Menu.NONE, timerTitle); - menu.add(position, CONTEXT_POSTPONE_ID, Menu.NONE, + if(task.getDefiniteDueDate() != null || + task.getPreferredDueDate() != null) + menu.add(position, CONTEXT_POSTPONE_ID, Menu.NONE, R.string.taskList_context_postpone); menu.setHeaderTitle(task.getName()); diff --git a/src/com/timsu/astrid/data/task/TaskModelForRepeat.java b/src/com/timsu/astrid/data/task/TaskModelForRepeat.java index 4001a30c2..3c04ee060 100644 --- a/src/com/timsu/astrid/data/task/TaskModelForRepeat.java +++ b/src/com/timsu/astrid/data/task/TaskModelForRepeat.java @@ -59,6 +59,9 @@ public class TaskModelForRepeat extends AbstractTaskModel implements Notifiable setPreferredDueDate(repeatInfo.shiftDate(getPreferredDueDate())); setProgressPercentage(0); + // set elapsed time to 0... yes, we're losing data + setElapsedSeconds(0); + // if no deadlines set, create one (so users don't get confused) if(getDefiniteDueDate() == null && getPreferredDueDate() == null) setPreferredDueDate(repeatInfo.shiftDate(new Date())); diff --git a/src/com/timsu/astrid/utilities/Notifications.java b/src/com/timsu/astrid/utilities/Notifications.java index 50add2a5b..3445a8437 100644 --- a/src/com/timsu/astrid/utilities/Notifications.java +++ b/src/com/timsu/astrid/utilities/Notifications.java @@ -15,6 +15,7 @@ import android.content.Context; import android.content.Intent; import android.content.res.Resources; import android.graphics.Color; +import android.media.AudioManager; import android.net.Uri; import android.util.Log; @@ -404,6 +405,13 @@ public class Notifications extends BroadcastReceiver { if(nonstopMode && (flags & FLAG_PERIODIC) == 0) { notification.flags |= Notification.FLAG_INSISTENT; + + // if you're gonna do this... might as well crank up the volume! + AudioManager audioManager = (AudioManager)context.getSystemService( + Context.AUDIO_SERVICE); + notification.audioStreamType = AudioManager.STREAM_ALARM; + audioManager.setStreamVolume(AudioManager.STREAM_ALARM, + audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM), 0); } if(quietHours) {