Merge branch 'fix/request-time' into 'master'

Fix: handle multiple interval in request time

See merge request sheepitrenderfarm/client!218
This commit is contained in:
Sheepit Renderfarm
2023-08-07 14:38:40 +00:00

View File

@@ -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<Calendar> dates = new ArrayList<>();
Calendar now = Calendar.getInstance();
for (Pair<Calendar, Calendar> 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;
}
}