Schedule fragment for old BB modules cleaned up
This commit is contained in:
@@ -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()) {
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user