diff --git a/src/main/java/com/sheepit/client/Client.java b/src/main/java/com/sheepit/client/Client.java index 04dfcce..c61a694 100644 --- a/src/main/java/com/sheepit/client/Client.java +++ b/src/main/java/com/sheepit/client/Client.java @@ -32,6 +32,7 @@ import java.nio.file.StandardCopyOption; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; +import java.util.List; import java.util.Locale; import java.util.Observable; import java.util.Observer; @@ -726,6 +727,9 @@ import okhttp3.HttpUrl; } else { Calendar next = null; + + List dates = new ArrayList<>(); + Calendar now = Calendar.getInstance(); for (Pair interval : this.configuration.getRequestTime()) { Calendar start = (Calendar) now.clone(); @@ -741,8 +745,16 @@ import okhttp3.HttpUrl; if (start.before(now) && now.before(end)) { return null; } - if (next == null || (start.before(next) && start.after(now))) { - next = start; + + Calendar startTomorow = (Calendar) start.clone(); + startTomorow.add(Calendar.DATE, 1); + dates.add(start); + dates.add(startTomorow); + } + + for (Calendar cal : dates) { + if (cal.after(now) && (next == null || (cal.getTimeInMillis() - now.getTimeInMillis() < next.getTimeInMillis() - now.getTimeInMillis()))) { + next = cal; } }