From c544adbd4b6dd6596321dc564f64fa65150f7d7f Mon Sep 17 00:00:00 2001 From: Caesar2011 Date: Wed, 30 Jan 2019 15:12:33 +0100 Subject: [PATCH] Added KVV projects --- .../sebse/fuplanner/fragments/ModulesAdapter.java | 10 +++++----- .../sebse/fuplanner/services/kvv/ModulesList.java | 15 ++++++++------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/ModulesAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/ModulesAdapter.java index 01b5916..2a058df 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/ModulesAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/ModulesAdapter.java @@ -40,12 +40,10 @@ class ModulesAdapter extends RecyclerView.Adapter { public void setModules(Modules modules) { mValues = modules; mPositionalData.clear(); - Semester lastSemester = null; + Semester lastSemester = new Semester(Semester.SEM_WS, 0); for (Modules.Module module : mValues) { Semester semester = module.semester; - if (semester == null) - continue; - if (!semester.equals(lastSemester)) { + if (semester != null && !semester.equals(lastSemester) || semester == null && lastSemester != null) { mPositionalData.add(new Pair<>(TYPE_HEADER, semester)); lastSemester = semester; } @@ -80,7 +78,9 @@ class ModulesAdapter extends RecyclerView.Adapter { StringViewHolder sHolder = (StringViewHolder) holder; String localizedSemester; Semester semester = (Semester) pair.second; - if (semester.getType() == Semester.SEM_WS) + if (semester == null) + localizedSemester = holder.mView.getResources().getString(R.string.others); + else if (semester.getType() == Semester.SEM_WS) localizedSemester = holder.mView.getResources().getString(R.string.winter_semester, semester.getYear(), semester.getYear()+1); else localizedSemester = holder.mView.getResources().getString(R.string.summer_semester, semester.getYear()); diff --git a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesList.java b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesList.java index dec31e9..e5e2e29 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesList.java +++ b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesList.java @@ -186,14 +186,17 @@ public class ModulesList extends HTTPService { try { JSONObject site = sites.getJSONObject(i); String semester_string = site.getJSONObject("props").optString("term_eid", null); + Semester semester; if (semester_string == null) - continue; - Semester semester = new Semester(semester_string); + semester = null; + else + semester = new Semester(semester_string); HashSet lvNumbers = new HashSet<>(); String kvv_lvnumbers = site.getJSONObject("props").optString("kvv_lvnumbers", null); - if (kvv_lvnumbers != null) for (MatchResult matchResult : Regex.allMatches("[0-9]+", kvv_lvnumbers)) { - lvNumbers.add(matchResult.group()); - } + if (kvv_lvnumbers != null) + for (MatchResult matchResult : Regex.allMatches("[0-9]+", kvv_lvnumbers)) { + lvNumbers.add(matchResult.group()); + } String title = site.getString("entityTitle"); LinkedHashSet lecturers = new LinkedHashSet<>(); String kvv_lecturers = site.getJSONObject("props").optString("kvv_lecturers", null); @@ -283,11 +286,9 @@ public class ModulesList extends HTTPService { } catch (JSONException e) { e.printStackTrace(); errorCallback.onError(new NetworkError(101125, 403, "Cannot parse module list!")); - return; } catch (NoSuchFieldException e) { e.printStackTrace(); errorCallback.onError(new NetworkError(101127, 403, "Cannot parse module list!")); - return; } }, error -> errorCallback.onError(new NetworkError(101126, error.networkResponse.statusCode, "Cannot get module list!"))); } catch (JSONException e) {