From 99b05143d9a3c2a5a95d0ef73e03651fb8e47486 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Tue, 30 Aug 2011 18:14:25 -0700 Subject: [PATCH] Added a preference option that can prevent notifications from ever appearing --- .../com/todoroo/astrid/reminders/Notifications.java | 2 ++ .../com/todoroo/astrid/reminders/ReminderPreferences.java | 5 +++++ astrid/res/values/keys.xml | 3 +++ astrid/res/values/strings-core.xml | 3 +++ astrid/res/values/strings-reminders.xml | 7 +++++++ astrid/res/xml/preferences_reminders.xml | 4 ++++ astrid/src/com/todoroo/astrid/service/StartupService.java | 4 +++- 7 files changed, 27 insertions(+), 1 deletion(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/reminders/Notifications.java b/astrid/plugin-src/com/todoroo/astrid/reminders/Notifications.java index abc494172..b140cfeef 100644 --- a/astrid/plugin-src/com/todoroo/astrid/reminders/Notifications.java +++ b/astrid/plugin-src/com/todoroo/astrid/reminders/Notifications.java @@ -131,6 +131,8 @@ public class Notifications extends BroadcastReceiver { return false; } + if (!Preferences.getBoolean(R.string.p_rmd_enabled, true)) + return false; // you're done, or not yours - don't sound, do delete if(task.isCompleted() || task.isDeleted() || task.getValue(Task.USER_ID) != 0) return false; diff --git a/astrid/plugin-src/com/todoroo/astrid/reminders/ReminderPreferences.java b/astrid/plugin-src/com/todoroo/astrid/reminders/ReminderPreferences.java index 00f3c395c..26e35264e 100644 --- a/astrid/plugin-src/com/todoroo/astrid/reminders/ReminderPreferences.java +++ b/astrid/plugin-src/com/todoroo/astrid/reminders/ReminderPreferences.java @@ -88,6 +88,11 @@ public class ReminderPreferences extends TodorooPreferenceActivity { preference.setSummary(r.getString(R.string.rmd_EPr_snooze_dialog_desc_true)); else preference.setSummary(r.getString(R.string.rmd_EPr_snooze_dialog_desc_false)); + } else if (r.getString(R.string.p_rmd_enabled).equals(preference.getKey())) { + if((Boolean)value) + preference.setSummary(R.string.rmd_EPr_enabled_desc_true); + else + preference.setSummary(R.string.rmd_EPr_enabled_desc_false); } } diff --git a/astrid/res/values/keys.xml b/astrid/res/values/keys.xml index 7cf027a7f..3c1a38bf6 100644 --- a/astrid/res/values/keys.xml +++ b/astrid/res/values/keys.xml @@ -7,6 +7,9 @@ + + notif_enabled + notif_qstart diff --git a/astrid/res/values/strings-core.xml b/astrid/res/values/strings-core.xml index e7f1384e0..0e82d6383 100644 --- a/astrid/res/values/strings-core.xml +++ b/astrid/res/values/strings-core.xml @@ -113,6 +113,9 @@ Notifications are muted. You won\'t be able to hear Astrid! + + Astrid reminders are disabled! You will not receive any reminders + diff --git a/astrid/res/values/strings-reminders.xml b/astrid/res/values/strings-reminders.xml index d6e30c821..d4476fb3f 100644 --- a/astrid/res/values/strings-reminders.xml +++ b/astrid/res/values/strings-reminders.xml @@ -59,6 +59,13 @@ Reminder Settings + + Show Reminders + + Astrid reminders are enabled + + Astrid reminders will never appear + Quiet Hours Start diff --git a/astrid/res/xml/preferences_reminders.xml b/astrid/res/xml/preferences_reminders.xml index 61478a51a..3d6e10c0c 100644 --- a/astrid/res/xml/preferences_reminders.xml +++ b/astrid/res/xml/preferences_reminders.xml @@ -43,5 +43,9 @@ android:ringtoneType="notification" android:showDefault="true" android:showSilent="true" /> + diff --git a/astrid/src/com/todoroo/astrid/service/StartupService.java b/astrid/src/com/todoroo/astrid/service/StartupService.java index 81099c91f..dbe5ec19f 100644 --- a/astrid/src/com/todoroo/astrid/service/StartupService.java +++ b/astrid/src/com/todoroo/astrid/service/StartupService.java @@ -109,7 +109,9 @@ public class StartupService { if(context instanceof Activity) { AudioManager audioManager = (AudioManager)context.getSystemService( Context.AUDIO_SERVICE); - if(audioManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION) == 0) + if(!Preferences.getBoolean(R.string.p_rmd_enabled, true)) + Toast.makeText(context, R.string.TLA_notification_disabled, Toast.LENGTH_LONG).show(); + else if(audioManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION) == 0) Toast.makeText(context, R.string.TLA_notification_volume_low, Toast.LENGTH_LONG).show(); }