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.R;
|
||||||
import de.sebse.fuplanner.services.kvv.types.Event;
|
import de.sebse.fuplanner.services.kvv.types.Event;
|
||||||
import de.sebse.fuplanner.services.kvv.types.Modules;
|
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.MainActivityListener;
|
||||||
|
import de.sebse.fuplanner.tools.UtilsDate;
|
||||||
import de.sebse.fuplanner.tools.logging.Logger;
|
import de.sebse.fuplanner.tools.logging.Logger;
|
||||||
import de.sebse.fuplanner.tools.ui.weekview.MonthLoader;
|
import de.sebse.fuplanner.tools.ui.weekview.MonthLoader;
|
||||||
import de.sebse.fuplanner.tools.ui.weekview.WeekView;
|
import de.sebse.fuplanner.tools.ui.weekview.WeekView;
|
||||||
@@ -66,7 +67,9 @@ public class ScheduleFragment extends Fragment implements
|
|||||||
mListener.getKVV().modules().list().recv(modules -> {
|
mListener.getKVV().modules().list().recv(modules -> {
|
||||||
mModules = modules;
|
mModules = modules;
|
||||||
final int[] i = {0};
|
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 -> {
|
mListener.getKVV().modules().events().recv(module, success1 -> {
|
||||||
i[0]++;
|
i[0]++;
|
||||||
if (i[0] >= mModules.size()) {
|
if (i[0] >= mModules.size()) {
|
||||||
@@ -119,7 +122,11 @@ public class ScheduleFragment extends Fragment implements
|
|||||||
public List<? extends WeekViewEvent> onMonthChange(int newYear, int newMonth) {
|
public List<? extends WeekViewEvent> onMonthChange(int newYear, int newMonth) {
|
||||||
ArrayList<WeekViewEvent> events = new ArrayList<>();
|
ArrayList<WeekViewEvent> events = new ArrayList<>();
|
||||||
if (mModules != null){
|
if (mModules != null){
|
||||||
|
Semester latestSemester = mModules.getLatestSemester();
|
||||||
for (Modules.Module mod: mModules) {
|
for (Modules.Module mod: mModules) {
|
||||||
|
if (mod.getModuleType() == Modules.TYPE_BB && mod.semester != null && !mod.semester.equals(latestSemester)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (mod.events != null) {
|
if (mod.events != null) {
|
||||||
Iterator<Event> it_modEvents = mod.events.getEventsOfMonth(newYear, newMonth);
|
Iterator<Event> it_modEvents = mod.events.getEventsOfMonth(newYear, newMonth);
|
||||||
while (it_modEvents.hasNext()) {
|
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.Event;
|
||||||
import de.sebse.fuplanner.services.kvv.types.EventList;
|
import de.sebse.fuplanner.services.kvv.types.EventList;
|
||||||
import de.sebse.fuplanner.services.kvv.types.Modules;
|
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.Regex;
|
||||||
import de.sebse.fuplanner.tools.UtilsDate;
|
import de.sebse.fuplanner.tools.UtilsDate;
|
||||||
import de.sebse.fuplanner.tools.network.NetworkCallback;
|
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!"));
|
errorCallback.onError(new NetworkError(101416, 400, "Cannot get events!"));
|
||||||
return;
|
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) {
|
if (module.lvNumber.size() == 0) {
|
||||||
// Events not available
|
// Events not available
|
||||||
callback.onResponse(new EventList());
|
callback.onResponse(new EventList());
|
||||||
|
|||||||
@@ -65,6 +65,10 @@ public class Modules implements Iterable<Modules.Module>, Serializable {
|
|||||||
return this.list.filteredIterator(this.list.getLatestSemester());
|
return this.list.filteredIterator(this.list.getLatestSemester());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Semester getLatestSemester() {
|
||||||
|
return this.list.getLatestSemester();
|
||||||
|
}
|
||||||
|
|
||||||
public int size() {
|
public int size() {
|
||||||
return this.list.size();
|
return this.list.size();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user