Event URL pulling

This commit is contained in:
Caesar2011
2018-06-07 12:07:14 +02:00
parent 5dc98a7ed7
commit 4099dd5b38
3 changed files with 48 additions and 10 deletions

View File

@@ -150,7 +150,7 @@ public class ModDetailOverviewAdapter extends RecyclerView.Adapter<RecyclerView.
i.mTitle.setText(assignment.getTitle());
i.mSubLeft.setText(assignment.getStatus());
i.mSubRight.setText(Conversion.getModifiedDate(assignment.getDueDate()));
i.mView.setOnClickListener(view -> 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<RecyclerView.
Conversion.getModifiedDate(event.getStartDate()),
Conversion.getModifiedDate(event.getEndDate())
));
i.mView.setOnClickListener(view -> 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));
}
}

View File

@@ -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;
}
}

View File

@@ -178,6 +178,33 @@ public class KVVModuleList extends HTTPService {
}
private void getEventsUpgrade(String ID, final NetworkCallback<ArrayList<Event>> callback, final NetworkErrorCallback errorCallback) {
callback.onResponse(new ArrayList<Event>());
//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<Event> 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!")));
}
}