diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2014-12-17 07:15:31 +0100 |
---|---|---|
committer | Daniel Gultsch <daniel@gultsch.de> | 2014-12-17 07:15:31 +0100 |
commit | 5603440a91e72ac4d5c7043b85ff211425a592b9 (patch) | |
tree | fc5edd016d58fcc6e0ebd4306d2ecc8074a5e2bd /src/main/java/eu/siacs/conversations/services | |
parent | 1a7ed4ed7c56bc0af70ebdaf67f71da9205f6afd (diff) | |
parent | 0b4987581f6aeebd2b8c729b83aaebf9998ec0d6 (diff) |
Merge pull request #783 from SamWhited/quiet-hours
Update summary in TimePreference change listener
Diffstat (limited to 'src/main/java/eu/siacs/conversations/services')
-rw-r--r-- | src/main/java/eu/siacs/conversations/services/NotificationService.java | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/main/java/eu/siacs/conversations/services/NotificationService.java b/src/main/java/eu/siacs/conversations/services/NotificationService.java index 9e21d160..c27ab72a 100644 --- a/src/main/java/eu/siacs/conversations/services/NotificationService.java +++ b/src/main/java/eu/siacs/conversations/services/NotificationService.java @@ -72,20 +72,15 @@ public class NotificationService { if (!mXmppConnectionService.getPreferences().getBoolean("enable_quiet_hours", false)) { return false; } - final Calendar startTime = Calendar.getInstance(); - startTime.setTimeInMillis(mXmppConnectionService.getPreferences().getLong("quiet_hours_start", TimePreference.DEFAULT_VALUE)); - final Calendar endTime = Calendar.getInstance(); - endTime.setTimeInMillis(mXmppConnectionService.getPreferences().getLong("quiet_hours_end", TimePreference.DEFAULT_VALUE)); - final Calendar nowTime = Calendar.getInstance(); + final long startTime = mXmppConnectionService.getPreferences().getLong("quiet_hours_start", TimePreference.DEFAULT_VALUE) % Config.MILLISECONDS_IN_DAY; + final long endTime = mXmppConnectionService.getPreferences().getLong("quiet_hours_end", TimePreference.DEFAULT_VALUE) % Config.MILLISECONDS_IN_DAY; + final long nowTime = Calendar.getInstance().getTimeInMillis() % Config.MILLISECONDS_IN_DAY; - startTime.set(nowTime.get(Calendar.YEAR), nowTime.get(Calendar.MONTH), nowTime.get(Calendar.DATE)); - endTime.set(nowTime.get(Calendar.YEAR), nowTime.get(Calendar.MONTH), nowTime.get(Calendar.DATE)); - - if (endTime.before(startTime)) { - endTime.add(Calendar.DATE, 1); + if (endTime < startTime) { + return nowTime > startTime || nowTime < endTime; + } else { + return nowTime > startTime && nowTime < endTime; } - - return nowTime.after(startTime) && nowTime.before(endTime); } public boolean conferenceNotificationsEnabled() { |