Fixed Olympiad Sunday only period reseting to Monday.

Contributed by Sahar.
This commit is contained in:
MobiusDevelopment
2019-10-14 13:48:49 +00:00
parent 89e15eceae
commit efa09e6ce2
16 changed files with 288 additions and 48 deletions

View File

@ -695,7 +695,24 @@ public class Olympiad extends ListenersContainer
private long setNewCompBegin()
{
_compStart = Calendar.getInstance();
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
// Today's competitions ended, start checking from next day.
if (currentDay == _compStart.get(Calendar.DAY_OF_WEEK))
{
if (currentDay == Calendar.SATURDAY)
{
currentDay = Calendar.SUNDAY;
}
else
{
currentDay++;
}
}
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
@ -722,8 +739,6 @@ public class Olympiad extends ListenersContainer
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compStart.add(Calendar.HOUR_OF_DAY, 24);
_compEnd = _compStart.getTimeInMillis() + COMP_PERIOD;