mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-15 05:55:06 -05:00
Merge pull request #700 from k9mail/issue-661_disable_notifications_during_quiet_time
Add setting to completely disable notifications during Quiet Time
This commit is contained in:
commit
fde7b985fc
@ -237,6 +237,7 @@ public class K9 extends Application {
|
|||||||
private static boolean mHideSpecialAccounts = false;
|
private static boolean mHideSpecialAccounts = false;
|
||||||
private static boolean mAutofitWidth;
|
private static boolean mAutofitWidth;
|
||||||
private static boolean mQuietTimeEnabled = false;
|
private static boolean mQuietTimeEnabled = false;
|
||||||
|
private static boolean mNotificationDuringQuietTimeEnabled = true;
|
||||||
private static String mQuietTimeStarts = null;
|
private static String mQuietTimeStarts = null;
|
||||||
private static String mQuietTimeEnds = null;
|
private static String mQuietTimeEnds = null;
|
||||||
private static String mAttachmentDefaultPath = "";
|
private static String mAttachmentDefaultPath = "";
|
||||||
@ -474,6 +475,7 @@ public class K9 extends Application {
|
|||||||
editor.putBoolean("useVolumeKeysForListNavigation", mUseVolumeKeysForListNavigation);
|
editor.putBoolean("useVolumeKeysForListNavigation", mUseVolumeKeysForListNavigation);
|
||||||
editor.putBoolean("autofitWidth", mAutofitWidth);
|
editor.putBoolean("autofitWidth", mAutofitWidth);
|
||||||
editor.putBoolean("quietTimeEnabled", mQuietTimeEnabled);
|
editor.putBoolean("quietTimeEnabled", mQuietTimeEnabled);
|
||||||
|
editor.putBoolean("notificationDuringQuietTimeEnabled", mNotificationDuringQuietTimeEnabled);
|
||||||
editor.putString("quietTimeStarts", mQuietTimeStarts);
|
editor.putString("quietTimeStarts", mQuietTimeStarts);
|
||||||
editor.putString("quietTimeEnds", mQuietTimeEnds);
|
editor.putString("quietTimeEnds", mQuietTimeEnds);
|
||||||
|
|
||||||
@ -708,6 +710,7 @@ public class K9 extends Application {
|
|||||||
mAutofitWidth = sprefs.getBoolean("autofitWidth", true);
|
mAutofitWidth = sprefs.getBoolean("autofitWidth", true);
|
||||||
|
|
||||||
mQuietTimeEnabled = sprefs.getBoolean("quietTimeEnabled", false);
|
mQuietTimeEnabled = sprefs.getBoolean("quietTimeEnabled", false);
|
||||||
|
mNotificationDuringQuietTimeEnabled = sprefs.getBoolean("notificationDuringQuietTimeEnabled", true);
|
||||||
mQuietTimeStarts = sprefs.getString("quietTimeStarts", "21:00");
|
mQuietTimeStarts = sprefs.getString("quietTimeStarts", "21:00");
|
||||||
mQuietTimeEnds = sprefs.getString("quietTimeEnds", "7:00");
|
mQuietTimeEnds = sprefs.getString("quietTimeEnds", "7:00");
|
||||||
|
|
||||||
@ -970,6 +973,14 @@ public class K9 extends Application {
|
|||||||
mQuietTimeEnabled = quietTimeEnabled;
|
mQuietTimeEnabled = quietTimeEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isNotificationDuringQuietTimeEnabled() {
|
||||||
|
return mNotificationDuringQuietTimeEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setNotificationDuringQuietTimeEnabled(boolean notificationDuringQuietTimeEnabled) {
|
||||||
|
mNotificationDuringQuietTimeEnabled = notificationDuringQuietTimeEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
public static String getQuietTimeStarts() {
|
public static String getQuietTimeStarts() {
|
||||||
return mQuietTimeStarts;
|
return mQuietTimeStarts;
|
||||||
}
|
}
|
||||||
|
@ -79,6 +79,8 @@ public class Prefs extends K9PreferenceActivity {
|
|||||||
private static final String PREFERENCE_MESSAGEVIEW_RETURN_TO_LIST = "messageview_return_to_list";
|
private static final String PREFERENCE_MESSAGEVIEW_RETURN_TO_LIST = "messageview_return_to_list";
|
||||||
private static final String PREFERENCE_MESSAGEVIEW_SHOW_NEXT = "messageview_show_next";
|
private static final String PREFERENCE_MESSAGEVIEW_SHOW_NEXT = "messageview_show_next";
|
||||||
private static final String PREFERENCE_QUIET_TIME_ENABLED = "quiet_time_enabled";
|
private static final String PREFERENCE_QUIET_TIME_ENABLED = "quiet_time_enabled";
|
||||||
|
private static final String PREFERENCE_DISABLE_NOTIFICATION_DURING_QUIET_TIME =
|
||||||
|
"disable_notifications_during_quiet_time";
|
||||||
private static final String PREFERENCE_QUIET_TIME_STARTS = "quiet_time_starts";
|
private static final String PREFERENCE_QUIET_TIME_STARTS = "quiet_time_starts";
|
||||||
private static final String PREFERENCE_QUIET_TIME_ENDS = "quiet_time_ends";
|
private static final String PREFERENCE_QUIET_TIME_ENDS = "quiet_time_ends";
|
||||||
private static final String PREFERENCE_NOTIF_QUICK_DELETE = "notification_quick_delete";
|
private static final String PREFERENCE_NOTIF_QUICK_DELETE = "notification_quick_delete";
|
||||||
@ -142,6 +144,7 @@ public class Prefs extends K9PreferenceActivity {
|
|||||||
private CheckBoxListPreference mVisibleRefileActions;
|
private CheckBoxListPreference mVisibleRefileActions;
|
||||||
|
|
||||||
private CheckBoxPreference mQuietTimeEnabled;
|
private CheckBoxPreference mQuietTimeEnabled;
|
||||||
|
private CheckBoxPreference mDisableNotificationDuringQuietTime;
|
||||||
private com.fsck.k9.preferences.TimePickerPreference mQuietTimeStarts;
|
private com.fsck.k9.preferences.TimePickerPreference mQuietTimeStarts;
|
||||||
private com.fsck.k9.preferences.TimePickerPreference mQuietTimeEnds;
|
private com.fsck.k9.preferences.TimePickerPreference mQuietTimeEnds;
|
||||||
private ListPreference mNotificationQuickDelete;
|
private ListPreference mNotificationQuickDelete;
|
||||||
@ -309,6 +312,9 @@ public class Prefs extends K9PreferenceActivity {
|
|||||||
mQuietTimeEnabled = (CheckBoxPreference) findPreference(PREFERENCE_QUIET_TIME_ENABLED);
|
mQuietTimeEnabled = (CheckBoxPreference) findPreference(PREFERENCE_QUIET_TIME_ENABLED);
|
||||||
mQuietTimeEnabled.setChecked(K9.getQuietTimeEnabled());
|
mQuietTimeEnabled.setChecked(K9.getQuietTimeEnabled());
|
||||||
|
|
||||||
|
mDisableNotificationDuringQuietTime = (CheckBoxPreference) findPreference(
|
||||||
|
PREFERENCE_DISABLE_NOTIFICATION_DURING_QUIET_TIME);
|
||||||
|
mDisableNotificationDuringQuietTime.setChecked(!K9.isNotificationDuringQuietTimeEnabled());
|
||||||
mQuietTimeStarts = (TimePickerPreference) findPreference(PREFERENCE_QUIET_TIME_STARTS);
|
mQuietTimeStarts = (TimePickerPreference) findPreference(PREFERENCE_QUIET_TIME_STARTS);
|
||||||
mQuietTimeStarts.setDefaultValue(K9.getQuietTimeStarts());
|
mQuietTimeStarts.setDefaultValue(K9.getQuietTimeStarts());
|
||||||
mQuietTimeStarts.setSummary(K9.getQuietTimeStarts());
|
mQuietTimeStarts.setSummary(K9.getQuietTimeStarts());
|
||||||
@ -485,6 +491,7 @@ public class Prefs extends K9PreferenceActivity {
|
|||||||
K9.setMessageViewCopyActionVisible(enabledRefileActions[VISIBLE_REFILE_ACTIONS_COPY]);
|
K9.setMessageViewCopyActionVisible(enabledRefileActions[VISIBLE_REFILE_ACTIONS_COPY]);
|
||||||
K9.setMessageViewSpamActionVisible(enabledRefileActions[VISIBLE_REFILE_ACTIONS_SPAM]);
|
K9.setMessageViewSpamActionVisible(enabledRefileActions[VISIBLE_REFILE_ACTIONS_SPAM]);
|
||||||
|
|
||||||
|
K9.setNotificationDuringQuietTimeEnabled(!mDisableNotificationDuringQuietTime.isChecked());
|
||||||
K9.setQuietTimeStarts(mQuietTimeStarts.getTime());
|
K9.setQuietTimeStarts(mQuietTimeStarts.getTime());
|
||||||
K9.setQuietTimeEnds(mQuietTimeEnds.getTime());
|
K9.setQuietTimeEnds(mQuietTimeEnds.getTime());
|
||||||
K9.setWrapFolderNames(mWrapFolderNames.isChecked());
|
K9.setWrapFolderNames(mWrapFolderNames.isChecked());
|
||||||
|
@ -4715,8 +4715,11 @@ public class MessagingController implements Runnable {
|
|||||||
/**
|
/**
|
||||||
* Creates a notification of a newly received message.
|
* Creates a notification of a newly received message.
|
||||||
*/
|
*/
|
||||||
private void notifyAccount(Context context, Account account,
|
private void notifyAccount(Context context, Account account, LocalMessage message, int previousUnreadMessageCount) {
|
||||||
LocalMessage message, int previousUnreadMessageCount) {
|
if (K9.isQuietTime() && !K9.isNotificationDuringQuietTimeEnabled()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final NotificationData data = getNotificationData(account, previousUnreadMessageCount);
|
final NotificationData data = getNotificationData(account, previousUnreadMessageCount);
|
||||||
synchronized (data) {
|
synchronized (data) {
|
||||||
notifyAccountWithDataLocked(context, account, message, data);
|
notifyAccountWithDataLocked(context, account, message, data);
|
||||||
|
@ -266,6 +266,9 @@ public class GlobalSettings {
|
|||||||
new V(38, new EnumSetting<NotificationQuickDelete>(NotificationQuickDelete.class,
|
new V(38, new EnumSetting<NotificationQuickDelete>(NotificationQuickDelete.class,
|
||||||
NotificationQuickDelete.NEVER))
|
NotificationQuickDelete.NEVER))
|
||||||
));
|
));
|
||||||
|
s.put("notificationDuringQuietTimeEnabled", Settings.versions(
|
||||||
|
new V(39, new BooleanSetting(true))
|
||||||
|
));
|
||||||
|
|
||||||
SETTINGS = Collections.unmodifiableMap(s);
|
SETTINGS = Collections.unmodifiableMap(s);
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ public class Settings {
|
|||||||
*
|
*
|
||||||
* @see SettingsExporter
|
* @see SettingsExporter
|
||||||
*/
|
*/
|
||||||
public static final int VERSION = 38;
|
public static final int VERSION = 39;
|
||||||
|
|
||||||
public static Map<String, Object> validate(int version, Map<String,
|
public static Map<String, Object> validate(int version, Map<String,
|
||||||
TreeMap<Integer, SettingsDescription>> settings,
|
TreeMap<Integer, SettingsDescription>> settings,
|
||||||
|
@ -353,6 +353,8 @@ Please submit bug reports, contribute new features and ask questions at
|
|||||||
|
|
||||||
<string name="quiet_time">Quiet Time</string>
|
<string name="quiet_time">Quiet Time</string>
|
||||||
<string name="quiet_time_description">Disable ringing, buzzing and flashing at night</string>
|
<string name="quiet_time_description">Disable ringing, buzzing and flashing at night</string>
|
||||||
|
<string name="quiet_time_notification">Disable notifications</string>
|
||||||
|
<string name="quiet_time_notification_description">Completely disable notifications during Quiet Time</string>
|
||||||
<string name="quiet_time_starts">Quiet Time starts</string>
|
<string name="quiet_time_starts">Quiet Time starts</string>
|
||||||
<string name="quiet_time_ends">Quiet Time ends</string>
|
<string name="quiet_time_ends">Quiet Time ends</string>
|
||||||
|
|
||||||
|
@ -303,6 +303,13 @@
|
|||||||
android:title="@string/quiet_time"
|
android:title="@string/quiet_time"
|
||||||
android:summary="@string/quiet_time_description"
|
android:summary="@string/quiet_time_description"
|
||||||
/>
|
/>
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="disable_notifications_during_quiet_time"
|
||||||
|
android:persistent="false"
|
||||||
|
android:dependency="quiet_time_enabled"
|
||||||
|
android:title="@string/quiet_time_notification"
|
||||||
|
android:summary="@string/quiet_time_notification_description"
|
||||||
|
/>
|
||||||
<com.fsck.k9.preferences.TimePickerPreference
|
<com.fsck.k9.preferences.TimePickerPreference
|
||||||
android:key="quiet_time_starts"
|
android:key="quiet_time_starts"
|
||||||
android:persistent="false"
|
android:persistent="false"
|
||||||
|
Loading…
Reference in New Issue
Block a user