diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewAdapter.java index 8e59ab1..aefa762 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewAdapter.java @@ -150,7 +150,7 @@ public class ModDetailOverviewAdapter extends RecyclerView.Adapter log.d("Refeerence to:", SECTION_ASSIGNMENT, index)); + i.mView.setOnClickListener(view -> log.d("Reference to:", SECTION_ASSIGNMENT, index)); break; case SECTION_EVENTS: Event event = mValue.events.get(index); @@ -160,11 +160,11 @@ public class ModDetailOverviewAdapter extends RecyclerView.Adapter log.d("Refeerence to:", SECTION_ASSIGNMENT, index)); + i.mView.setOnClickListener(view -> log.d("Reference to:", SECTION_ASSIGNMENT, index)); } case TYPE_SHOW_MORE: CustomViewHolder c = (CustomViewHolder) holder; - c.mView.setOnClickListener(view -> log.d("Refeerence to:", data.second, -1)); + c.mView.setOnClickListener(view -> log.d("Reference to:", data.second, -1)); } } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/Event.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/Event.java index d6bd5bc..342551e 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/Event.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/Event.java @@ -4,9 +4,17 @@ import java.util.Date; public class Event { private final String id; + private final String type; + private final String title; + private final long duration; + private final long firstTime; - Event(String id) { + Event(String id, String type, String title, long duration, long firstTime) { this.id = id; + this.type = type; + this.title = title; + this.duration = duration; + this.firstTime = firstTime; } public String getId() { @@ -15,22 +23,25 @@ public class Event { @Override public String toString() { - return "ID: "+getId(); + return "ID: "+getId()+ + "\nType: "+getType()+ + "\nStart Date: "+getStartDate()+ + "\nEnd date: "+getEndDate(); } public String getTitle() { - return "Event Title"; + return this.title; } public String getType() { - return "Event Type"; + return this.type; } public long getStartDate() { - return (new Date()).getTime(); + return this.firstTime; } public long getEndDate() { - return (new Date()).getTime(); + return this.firstTime+this.duration; } } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java index 8196b0a..84cc210 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java @@ -178,6 +178,33 @@ public class KVVModuleList extends HTTPService { } private void getEventsUpgrade(String ID, final NetworkCallback> callback, final NetworkErrorCallback errorCallback) { - callback.onResponse(new ArrayList()); + //https://kvv.imp.fu-berlin.de/direct/calendar/site/91c6e9cc-58eb-486d-ab99-a22a40997d1b.json + get(String.format("https://kvv.imp.fu-berlin.de/direct/calendar/site/%s.json", ID), token.getCookies(), response -> { + String body = response.getParsed(); + if (body == null) { + errorCallback.onError(new NetworkError(101401, 403, "No calendar retrieved!")); + return; + } + ArrayList events = new ArrayList<>(); + try { + JSONObject json = new JSONObject(body); + JSONArray sites = json.getJSONArray("calendar_collection"); + + for (int i = 0; i < sites.length(); i++) { + log.d("CALENDAR ENTRY FOUND!", i); + JSONObject site = sites.getJSONObject(i); + String id = site.getString("eventId"); + String type = site.getString("type"); + String title = site.getString("title"); + long duration = site.getLong("duration"); + long firstTime = site.getJSONObject("firstTime").getLong("time"); + events.add(new Event(id, type, title, duration, firstTime)); + } + } catch (JSONException e) { + errorCallback.onError(new NetworkError(101402, 403, "Cannot parse calendar entries!")); + return; + } + callback.onResponse(events); + }, error -> errorCallback.onError(new NetworkError(101403, error.networkResponse.statusCode, "Cannot get calendar entries!"))); } }