mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-14 21:45:14 -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 mAutofitWidth;
|
||||
private static boolean mQuietTimeEnabled = false;
|
||||
private static boolean mNotificationDuringQuietTimeEnabled = true;
|
||||
private static String mQuietTimeStarts = null;
|
||||
private static String mQuietTimeEnds = null;
|
||||
private static String mAttachmentDefaultPath = "";
|
||||
@ -474,6 +475,7 @@ public class K9 extends Application {
|
||||
editor.putBoolean("useVolumeKeysForListNavigation", mUseVolumeKeysForListNavigation);
|
||||
editor.putBoolean("autofitWidth", mAutofitWidth);
|
||||
editor.putBoolean("quietTimeEnabled", mQuietTimeEnabled);
|
||||
editor.putBoolean("notificationDuringQuietTimeEnabled", mNotificationDuringQuietTimeEnabled);
|
||||
editor.putString("quietTimeStarts", mQuietTimeStarts);
|
||||
editor.putString("quietTimeEnds", mQuietTimeEnds);
|
||||
|
||||
@ -708,6 +710,7 @@ public class K9 extends Application {
|
||||
mAutofitWidth = sprefs.getBoolean("autofitWidth", true);
|
||||
|
||||
mQuietTimeEnabled = sprefs.getBoolean("quietTimeEnabled", false);
|
||||
mNotificationDuringQuietTimeEnabled = sprefs.getBoolean("notificationDuringQuietTimeEnabled", true);
|
||||
mQuietTimeStarts = sprefs.getString("quietTimeStarts", "21:00");
|
||||
mQuietTimeEnds = sprefs.getString("quietTimeEnds", "7:00");
|
||||
|
||||
@ -970,6 +973,14 @@ public class K9 extends Application {
|
||||
mQuietTimeEnabled = quietTimeEnabled;
|
||||
}
|
||||
|
||||
public static boolean isNotificationDuringQuietTimeEnabled() {
|
||||
return mNotificationDuringQuietTimeEnabled;
|
||||
}
|
||||
|
||||
public static void setNotificationDuringQuietTimeEnabled(boolean notificationDuringQuietTimeEnabled) {
|
||||
mNotificationDuringQuietTimeEnabled = notificationDuringQuietTimeEnabled;
|
||||
}
|
||||
|
||||
public static String getQuietTimeStarts() {
|
||||
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_SHOW_NEXT = "messageview_show_next";
|
||||
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_ENDS = "quiet_time_ends";
|
||||
private static final String PREFERENCE_NOTIF_QUICK_DELETE = "notification_quick_delete";
|
||||
@ -142,6 +144,7 @@ public class Prefs extends K9PreferenceActivity {
|
||||
private CheckBoxListPreference mVisibleRefileActions;
|
||||
|
||||
private CheckBoxPreference mQuietTimeEnabled;
|
||||
private CheckBoxPreference mDisableNotificationDuringQuietTime;
|
||||
private com.fsck.k9.preferences.TimePickerPreference mQuietTimeStarts;
|
||||
private com.fsck.k9.preferences.TimePickerPreference mQuietTimeEnds;
|
||||
private ListPreference mNotificationQuickDelete;
|
||||
@ -309,6 +312,9 @@ public class Prefs extends K9PreferenceActivity {
|
||||
mQuietTimeEnabled = (CheckBoxPreference) findPreference(PREFERENCE_QUIET_TIME_ENABLED);
|
||||
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.setDefaultValue(K9.getQuietTimeStarts());
|
||||
mQuietTimeStarts.setSummary(K9.getQuietTimeStarts());
|
||||
@ -485,6 +491,7 @@ public class Prefs extends K9PreferenceActivity {
|
||||
K9.setMessageViewCopyActionVisible(enabledRefileActions[VISIBLE_REFILE_ACTIONS_COPY]);
|
||||
K9.setMessageViewSpamActionVisible(enabledRefileActions[VISIBLE_REFILE_ACTIONS_SPAM]);
|
||||
|
||||
K9.setNotificationDuringQuietTimeEnabled(!mDisableNotificationDuringQuietTime.isChecked());
|
||||
K9.setQuietTimeStarts(mQuietTimeStarts.getTime());
|
||||
K9.setQuietTimeEnds(mQuietTimeEnds.getTime());
|
||||
K9.setWrapFolderNames(mWrapFolderNames.isChecked());
|
||||
|
@ -4715,8 +4715,11 @@ public class MessagingController implements Runnable {
|
||||
/**
|
||||
* Creates a notification of a newly received message.
|
||||
*/
|
||||
private void notifyAccount(Context context, Account account,
|
||||
LocalMessage message, int previousUnreadMessageCount) {
|
||||
private void notifyAccount(Context context, Account account, LocalMessage message, int previousUnreadMessageCount) {
|
||||
if (K9.isQuietTime() && !K9.isNotificationDuringQuietTimeEnabled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
final NotificationData data = getNotificationData(account, previousUnreadMessageCount);
|
||||
synchronized (data) {
|
||||
notifyAccountWithDataLocked(context, account, message, data);
|
||||
|
@ -266,6 +266,9 @@ public class GlobalSettings {
|
||||
new V(38, new EnumSetting<NotificationQuickDelete>(NotificationQuickDelete.class,
|
||||
NotificationQuickDelete.NEVER))
|
||||
));
|
||||
s.put("notificationDuringQuietTimeEnabled", Settings.versions(
|
||||
new V(39, new BooleanSetting(true))
|
||||
));
|
||||
|
||||
SETTINGS = Collections.unmodifiableMap(s);
|
||||
|
||||
|
@ -35,7 +35,7 @@ public class Settings {
|
||||
*
|
||||
* @see SettingsExporter
|
||||
*/
|
||||
public static final int VERSION = 38;
|
||||
public static final int VERSION = 39;
|
||||
|
||||
public static Map<String, Object> validate(int version, Map<String,
|
||||
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_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_ends">Quiet Time ends</string>
|
||||
|
||||
|
@ -303,6 +303,13 @@
|
||||
android:title="@string/quiet_time"
|
||||
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
|
||||
android:key="quiet_time_starts"
|
||||
android:persistent="false"
|
||||
|
Loading…
Reference in New Issue
Block a user