public List<Long> getTimesInInterval(long startInterval, long endInterval) { List<Long> ret = new ArrayList<Long>(); long time = startInterval; while (time <= endInterval) { for (TestTime tt : times) { if (tt.getNextStart(time) > startInterval && tt.getNextEnd(time) < endInterval) { ret.add(tt.getNextTime(time)); } } time = TimeUtils.getStartNextDayTime(time); } return ret; }
public long getNextTime(long time) { long ret = TestTime.NO_START_TIME; for (TestTime tt : times) { if (tt.getNextStart(time) > time) { ret = tt.getNextTime(time); break; } } if (ret <= time && !times.isEmpty()) { ret = times.get(0).getNextTime(TimeUtils.getStartNextDayTime(time)); } return ret; }