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:
@@ -32,6 +32,7 @@ import java.nio.file.StandardCopyOption;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
@@ -726,6 +727,9 @@ import okhttp3.HttpUrl;
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Calendar next = null;
|
Calendar next = null;
|
||||||
|
|
||||||
|
List<Calendar> dates = new ArrayList<>();
|
||||||
|
|
||||||
Calendar now = Calendar.getInstance();
|
Calendar now = Calendar.getInstance();
|
||||||
for (Pair<Calendar, Calendar> interval : this.configuration.getRequestTime()) {
|
for (Pair<Calendar, Calendar> interval : this.configuration.getRequestTime()) {
|
||||||
Calendar start = (Calendar) now.clone();
|
Calendar start = (Calendar) now.clone();
|
||||||
@@ -741,8 +745,16 @@ import okhttp3.HttpUrl;
|
|||||||
if (start.before(now) && now.before(end)) {
|
if (start.before(now) && now.before(end)) {
|
||||||
return null;
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user