From d8e3a68344fac7030c39e7950a72db916e612f4e Mon Sep 17 00:00:00 2001 From: Caesar2011 Date: Tue, 31 Jul 2018 22:45:55 +0200 Subject: [PATCH] Implemented event location --- .../sebse/fuplanner/fragments/ScheduleFragment.java | 1 + .../sebse/fuplanner/services/KVV/KVVModuleList.java | 5 +++-- .../de/sebse/fuplanner/services/KVV/types/Event.java | 11 ++++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/ScheduleFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/ScheduleFragment.java index 1a17f4b..5249275 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/ScheduleFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/ScheduleFragment.java @@ -129,6 +129,7 @@ public class ScheduleFragment extends Fragment implements MonthLoader.MonthChang WeekViewEvent weekViewEvent = new WeekViewEvent(e.getId(), e.getTitle(), start.get(Calendar.YEAR), start.get(Calendar.MONTH) + 1, start.get(Calendar.DAY_OF_MONTH), start.get(Calendar.HOUR_OF_DAY), start.get(Calendar.MINUTE), ende.get(Calendar.YEAR), ende.get(Calendar.MONTH) + 1, ende.get(Calendar.DAY_OF_MONTH), ende.get(Calendar.HOUR_OF_DAY), ende.get(Calendar.MINUTE)); weekViewEvent.setColor(e.getColor()); + weekViewEvent.setLocation(e.getLocation()); events.add(weekViewEvent); } } 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 e64a80b..f4dc2d6 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 @@ -336,7 +336,7 @@ class KVVModuleList extends HTTPService { errorCallback.onError(new NetworkError(101404, 500, "Currently running in offline mode!")); return; } - get(String.format("https://kvv.imp.fu-berlin.de/direct/calendar/site/%s.json", ID), token.getCookies(), response -> { + get(String.format("https://kvv.imp.fu-berlin.de/direct/calendar/site/%s.json?detailed=true", ID), token.getCookies(), response -> { String body = response.getParsed(); if (body == null) { errorCallback.onError(new NetworkError(101401, 403, "No calendar retrieved!")); @@ -355,7 +355,8 @@ class KVVModuleList extends HTTPService { String siteId = site.getString("siteId"); long duration = site.getLong("duration"); long firstTime = site.getJSONObject("firstTime").getLong("time"); - events.add(new Event(id, type, title, duration, firstTime, siteId)); + String location = site.getString("location"); + events.add(new Event(id, type, title, duration, firstTime, siteId, location)); } } catch (JSONException e) { e.printStackTrace(); diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Event.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Event.java index ae171ee..e4535d0 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Event.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Event.java @@ -14,14 +14,19 @@ public class Event implements Serializable { private final long duration; private final long firstTime; private final String siteId; + private final String location; - public Event(String id, String type, String title, long duration, long firstTime, String siteId) { + public Event(String id, String type, String title, long duration, long firstTime, String siteId, String location) { this.id = id; this.type = type; this.title = title; this.duration = duration; this.firstTime = firstTime; this.siteId = siteId; + this.location = location + .replace(" Übungsraum", "") + .replace(" Konferenzraum", "") + .replace(" Seminarraum", ""); } public String getId() { @@ -44,6 +49,10 @@ public class Event implements Serializable { return this.firstTime+this.duration; } + public String getLocation() { + return location; + } + public ColorRGB getColor() { MessageDigest digest; try {