Loading k9mail/src/main/java/com/fsck/k9/QuietTimeChecker.java +20 −28 Original line number Diff line number Diff line Loading @@ -2,53 +2,45 @@ package com.fsck.k9; import java.util.Calendar; import java.util.GregorianCalendar; class QuietTimeChecker { private final Clock clock; private final String quietTimeStart; private final String quietTimeEnd; private final int quietTimeStart; private final int quietTimeEnd; QuietTimeChecker(Clock clock, String quietTimeStart, String quietTimeEnd) { this.clock = clock; this.quietTimeStart = quietTimeStart; this.quietTimeEnd = quietTimeEnd; this.quietTimeStart = parseTime(quietTimeStart); this.quietTimeEnd = parseTime(quietTimeEnd); } public boolean isQuietTime() { GregorianCalendar gregorianCalendar = new GregorianCalendar(); gregorianCalendar.setTimeInMillis(clock.getTime()); Integer startHour = Integer.parseInt(quietTimeStart.split(":")[0]); Integer startMinute = Integer.parseInt(quietTimeStart.split(":")[1]); Integer endHour = Integer.parseInt(quietTimeEnd.split(":")[0]); Integer endMinute = Integer.parseInt(quietTimeEnd.split(":")[1]); private static int parseTime(String time) { String[] parts = time.split(":"); int hour = Integer.parseInt(parts[0]); int minute = Integer.parseInt(parts[1]); Integer now = (gregorianCalendar.get(Calendar.HOUR_OF_DAY) * 60) + gregorianCalendar.get(Calendar.MINUTE); Integer quietStarts = startHour * 60 + startMinute; Integer quietEnds = endHour * 60 + endMinute; return hour * 60 + minute; } public boolean isQuietTime() { // If start and end times are the same, we're never quiet if (quietStarts.equals(quietEnds)) { if (quietTimeStart == quietTimeEnd) { return false; } Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(clock.getTime()); // 21:00 - 05:00 means we want to be quiet if it's after 9 or before 5 if (quietStarts > quietEnds) { // if it's 22:00 or 03:00 but not 8:00 if (now >= quietStarts || now <= quietEnds) { int minutesSinceMidnight = (calendar.get(Calendar.HOUR_OF_DAY) * 60) + calendar.get(Calendar.MINUTE); if (quietTimeStart > quietTimeEnd) { if (minutesSinceMidnight >= quietTimeStart || minutesSinceMidnight <= quietTimeEnd) { return true; } } // 01:00 - 05:00 else { // if it' 2:00 or 4:00 but not 8:00 or 0:00 if (now >= quietStarts && now <= quietEnds) { } else { if (minutesSinceMidnight >= quietTimeStart && minutesSinceMidnight <= quietTimeEnd) { return true; } } Loading Loading
k9mail/src/main/java/com/fsck/k9/QuietTimeChecker.java +20 −28 Original line number Diff line number Diff line Loading @@ -2,53 +2,45 @@ package com.fsck.k9; import java.util.Calendar; import java.util.GregorianCalendar; class QuietTimeChecker { private final Clock clock; private final String quietTimeStart; private final String quietTimeEnd; private final int quietTimeStart; private final int quietTimeEnd; QuietTimeChecker(Clock clock, String quietTimeStart, String quietTimeEnd) { this.clock = clock; this.quietTimeStart = quietTimeStart; this.quietTimeEnd = quietTimeEnd; this.quietTimeStart = parseTime(quietTimeStart); this.quietTimeEnd = parseTime(quietTimeEnd); } public boolean isQuietTime() { GregorianCalendar gregorianCalendar = new GregorianCalendar(); gregorianCalendar.setTimeInMillis(clock.getTime()); Integer startHour = Integer.parseInt(quietTimeStart.split(":")[0]); Integer startMinute = Integer.parseInt(quietTimeStart.split(":")[1]); Integer endHour = Integer.parseInt(quietTimeEnd.split(":")[0]); Integer endMinute = Integer.parseInt(quietTimeEnd.split(":")[1]); private static int parseTime(String time) { String[] parts = time.split(":"); int hour = Integer.parseInt(parts[0]); int minute = Integer.parseInt(parts[1]); Integer now = (gregorianCalendar.get(Calendar.HOUR_OF_DAY) * 60) + gregorianCalendar.get(Calendar.MINUTE); Integer quietStarts = startHour * 60 + startMinute; Integer quietEnds = endHour * 60 + endMinute; return hour * 60 + minute; } public boolean isQuietTime() { // If start and end times are the same, we're never quiet if (quietStarts.equals(quietEnds)) { if (quietTimeStart == quietTimeEnd) { return false; } Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(clock.getTime()); // 21:00 - 05:00 means we want to be quiet if it's after 9 or before 5 if (quietStarts > quietEnds) { // if it's 22:00 or 03:00 but not 8:00 if (now >= quietStarts || now <= quietEnds) { int minutesSinceMidnight = (calendar.get(Calendar.HOUR_OF_DAY) * 60) + calendar.get(Calendar.MINUTE); if (quietTimeStart > quietTimeEnd) { if (minutesSinceMidnight >= quietTimeStart || minutesSinceMidnight <= quietTimeEnd) { return true; } } // 01:00 - 05:00 else { // if it' 2:00 or 4:00 but not 8:00 or 0:00 if (now >= quietStarts && now <= quietEnds) { } else { if (minutesSinceMidnight >= quietTimeStart && minutesSinceMidnight <= quietTimeEnd) { return true; } } Loading