Schedule fragment for old BB modules cleaned up

This commit is contained in:
Caesar2011
2019-02-07 18:47:57 +01:00
parent 1041144b4f
commit 019bdf80ce
3 changed files with 23 additions and 2 deletions

View File

@@ -18,8 +18,9 @@ import androidx.fragment.app.Fragment;
import de.sebse.fuplanner.R;
import de.sebse.fuplanner.services.kvv.types.Event;
import de.sebse.fuplanner.services.kvv.types.Modules;
import de.sebse.fuplanner.tools.UtilsDate;
import de.sebse.fuplanner.services.kvv.types.Semester;
import de.sebse.fuplanner.tools.MainActivityListener;
import de.sebse.fuplanner.tools.UtilsDate;
import de.sebse.fuplanner.tools.logging.Logger;
import de.sebse.fuplanner.tools.ui.weekview.MonthLoader;
import de.sebse.fuplanner.tools.ui.weekview.WeekView;
@@ -66,7 +67,9 @@ public class ScheduleFragment extends Fragment implements
mListener.getKVV().modules().list().recv(modules -> {
mModules = modules;
final int[] i = {0};
for (Modules.Module module: mModules) {
Iterator<Modules.Module> iter = mModules.latestSemesterIterator();
while (iter.hasNext()) {
Modules.Module module = iter.next();
mListener.getKVV().modules().events().recv(module, success1 -> {
i[0]++;
if (i[0] >= mModules.size()) {
@@ -119,7 +122,11 @@ public class ScheduleFragment extends Fragment implements
public List<? extends WeekViewEvent> onMonthChange(int newYear, int newMonth) {
ArrayList<WeekViewEvent> events = new ArrayList<>();
if (mModules != null){
Semester latestSemester = mModules.getLatestSemester();
for (Modules.Module mod: mModules) {
if (mod.getModuleType() == Modules.TYPE_BB && mod.semester != null && !mod.semester.equals(latestSemester)) {
continue;
}
if (mod.events != null) {
Iterator<Event> it_modEvents = mod.events.getEventsOfMonth(newYear, newMonth);
while (it_modEvents.hasNext()) {

View File

@@ -14,6 +14,7 @@ import java.util.regex.MatchResult;
import de.sebse.fuplanner.services.kvv.types.Event;
import de.sebse.fuplanner.services.kvv.types.EventList;
import de.sebse.fuplanner.services.kvv.types.Modules;
import de.sebse.fuplanner.services.kvv.types.Semester;
import de.sebse.fuplanner.tools.Regex;
import de.sebse.fuplanner.tools.UtilsDate;
import de.sebse.fuplanner.tools.network.NetworkCallback;
@@ -105,6 +106,15 @@ public class ModulesEvents extends PartModules<EventList> {
errorCallback.onError(new NetworkError(101416, 400, "Cannot get events!"));
return;
}
Semester latestSemester = modules.getLatestSemester();
if (module.semester != null && !module.semester.equals(latestSemester)) {
if (module.events != null) {
callback.onResponse(module.events);
} else {
callback.onResponse(new EventList());
}
return;
}
if (module.lvNumber.size() == 0) {
// Events not available
callback.onResponse(new EventList());

View File

@@ -65,6 +65,10 @@ public class Modules implements Iterable<Modules.Module>, Serializable {
return this.list.filteredIterator(this.list.getLatestSemester());
}
public Semester getLatestSemester() {
return this.list.getLatestSemester();
}
public int size() {
return this.list.size();
}