diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 027bd40..0471557 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index 96cc43e..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf3..0000000 --- a/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index ad53516..4e024a8 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,11 +5,12 @@ @@ -24,26 +25,5 @@ - - - - - - - - - - 1.8 - - - - - - - + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 62306f1..bee9e70 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,7 +2,7 @@ - + diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 94a25f7..8306744 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,6 +1,7 @@ + \ No newline at end of file diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/ModulesFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/ModulesFragment.java index 2c14419..560790f 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/ModulesFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/ModulesFragment.java @@ -14,6 +14,7 @@ import android.view.ViewGroup; import de.sebse.fuplanner.MainActivity; import de.sebse.fuplanner.R; import de.sebse.fuplanner.services.KVV.Modules; +import de.sebse.fuplanner.tools.logging.Logger; import de.sebse.fuplanner.tools.network.NetworkCallback; import de.sebse.fuplanner.tools.network.NetworkError; import de.sebse.fuplanner.tools.network.NetworkErrorCallback; @@ -30,6 +31,7 @@ public class ModulesFragment extends Fragment { //private static final String ARG_COLUMN_COUNT = "column-count"; // TODO: Customize parameters private OnModulesFragmentInteractionListener mListener; + private Logger log = new Logger(this); /** * Mandatory empty constructor for the fragment manager to instantiate the @@ -76,6 +78,7 @@ public class ModulesFragment extends Fragment { ((MainActivity) getActivity()).getKVV().getModuleList(new NetworkCallback() { @Override public void onResponse(@NonNull Modules success) { + log.d(success); adapter.setModules(success); } }, new NetworkErrorCallback() { diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java index 13130c5..5415f10 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java @@ -73,7 +73,7 @@ public class ModDetailOverviewFragment extends Fragment { View view = inflater.inflate(R.layout.fragment_mod_detail_overview, container, false); if (activity != null) { KVV kvv = activity.getKVV(); - kvv.getModuleDetails(mItemPos, new NetworkCallback() { + /*kvv.getModuleDetails(mItemPos, new NetworkCallback() { @Override public void onResponse(@NonNull Modules.UpgradeModule success) { log.d(success); @@ -84,7 +84,7 @@ public class ModDetailOverviewFragment extends Fragment { public void onError(NetworkError error) { log.e(error); } - }); + });*/ } return view; } diff --git a/app/src/main/java/de/sebse/fuplanner/services/GoogleAuth/GoogleAuth.java b/app/src/main/java/de/sebse/fuplanner/services/GoogleAuth/GoogleAuth.java index ad2c83d..df89097 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/GoogleAuth/GoogleAuth.java +++ b/app/src/main/java/de/sebse/fuplanner/services/GoogleAuth/GoogleAuth.java @@ -94,6 +94,7 @@ public class GoogleAuth { // This means only a hint is available, but we are handling that // elsewhere so no need to act here. } else { + credentialsListener.onCredentials(null); Log.w(TAG, "Unexpected status code: " + ae.getStatusCode()); } } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java index 6a07a5a..fb35568 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java @@ -56,7 +56,7 @@ public class KVV { }); } - public void getModuleDetails(final int index, final NetworkCallback callback, final NetworkErrorCallback error) { + /*public void getModuleDetails(final int index, final NetworkCallback callback, final NetworkErrorCallback error) { this.getLastToken(new LastTokenCallback() { @Override public void onReceived(LoginToken token) { @@ -68,7 +68,7 @@ public class KVV { modules.getModuleDetails(index, callback, error); } }); - } + }*/ private void getLastToken(LastTokenCallback lastTokenCallback) { if (this.isUpdating) { 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 5d538ec..51f9a73 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 @@ -146,7 +146,7 @@ public class KVVModuleList extends HTTPService { }); } */ - public void getModuleList(NetworkCallback callback, final NetworkErrorCallback errorCallback) { + public void getModuleList(final NetworkCallback callback, final NetworkErrorCallback errorCallback) { get("https://kvv.imp.fu-berlin.de/direct/site.json", token.getCookies(), new Response.Listener() { @Override public void onResponse(Result response) { @@ -155,24 +155,27 @@ public class KVVModuleList extends HTTPService { errorCallback.onError(new NetworkError(101101, 403, "No module list retreived!")); return; } + Modules modules = new Modules(); try { JSONObject json = new JSONObject(body); JSONArray sites = json.getJSONArray("site_collection"); for (int i = 0; i < sites.length(); i++) { JSONObject site = sites.getJSONObject(i); - moduleList = new Modules(); String semester = site.getJSONObject("props").getString("term_eid"); HashSet lvNumbers = new HashSet<>(); - for (MatchResult matchResult: allMatches("[0-9]*", site.getJSONObject("props").getString("kvv_lvnumbers"))) { + for (MatchResult matchResult : allMatches(Pattern.compile("[0-9]+"), site.getJSONObject("props").getString("kvv_lvnumbers"))) { lvNumbers.add(matchResult.group()); } - String title = site.getJSONObject("props").getString("entityTitle"); + String title = site.getString("entityTitle"); HashSet lecturers = new HashSet<>(); for (String lecturer : site.getJSONObject("props").getString("kvv_lecturers").split("#")) { - lecturers.add(new Lecturer(lecturer)); + if (lecturer.length() > 2) + lecturers.add(new Lecturer(lecturer)); } - moduleList.addModule(semester, lvNumbers, title, lecturers, "", ""); + String type = site.getJSONObject("props").getString("kvv_coursetype"); + String id = site.getString("id"); + modules.addModule(semester, lvNumbers, title, lecturers, type, id); } } catch (JSONException e) { errorCallback.onError(new NetworkError(101102, 403, "Cannot parse module list!")); @@ -181,6 +184,8 @@ public class KVVModuleList extends HTTPService { errorCallback.onError(new NetworkError(101103, 403, "Cannot parse module list!")); return; } + moduleList = modules; + callback.onResponse(moduleList); } }, new Response.ErrorListener() { @Override @@ -192,7 +197,7 @@ public class KVVModuleList extends HTTPService { - public void getModuleDetails(final int index, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { + /*public void getModuleDetails(final int index, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { queueModuleDetails.add(new AsyncQueue.AsyncQueueCallback() { @Override public void run() { @@ -225,7 +230,7 @@ public class KVVModuleList extends HTTPService { private void upgradeModule(Modules.SimpleModule module, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { callback.onResponse("cool ID"); - } + }*/ diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/Lecturer.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/Lecturer.java index 0fbb8c9..e5da409 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/Lecturer.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/Lecturer.java @@ -30,4 +30,11 @@ class Lecturer { public String getMail() { return mail; } + + @Override + public String toString() { + return "First name: "+getFirstname()+ + "\nSurname: "+getSurname()+ + "\nMail: "+getMail(); + } } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/Modules.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/Modules.java index f23ebaf..c8d6337 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/Modules.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/Modules.java @@ -1,7 +1,6 @@ package de.sebse.fuplanner.services.KVV; import android.support.annotation.NonNull; -import android.util.Pair; import java.util.ArrayList; import java.util.HashSet; @@ -14,37 +13,22 @@ import de.sebse.fuplanner.tools.Triplet; * Created by sebastian on 29.10.17. */ -public class Modules extends EventEmitter>> implements Iterable { +public class Modules /*extends EventEmitter>>*/ implements Iterable { private final ArrayList list; Modules() { this.list = new ArrayList<>(); } - Module addModule(String semester, HashSet lvNumber, String title, HashSet lecturer, String type, String upgradeURI) { - Module m = new SimpleModule(semester, lvNumber, title, lecturer, type, upgradeURI); + Module addModule(String semester, HashSet lvNumber, String title, HashSet lecturer, String type, String ID) { + Module m = new Module(semester, lvNumber, title, lecturer, type, ID); this.list.add(m); return m; } - UpgradeModule upgradeItem(int index, String moduleID) { - Module sm = list.get(index); - if (sm instanceof SimpleModule) { - UpgradeModule um = new UpgradeModule((SimpleModule) sm, moduleID); - list.set(index, um); - return um; - } else { - return (UpgradeModule) sm; - } - } - - public void setDescription(int index, String description) { - Module entry = this.list.get(index); - if (!(entry instanceof UpgradeModule)) { - return; - } - ((UpgradeModule) entry).description = description; - emit(new Triplet<>(index, ((UpgradeModule) entry), new ArrayList())); + @Override + public String toString() { + return this.list.toString(); } @NonNull @@ -77,19 +61,20 @@ public class Modules extends EventEmitter lvNumber; public final String title; - public final HashSet lecturer; + public final HashSet lecturer; public final String type; + private final String ID; /*private Module() { this(null, null, null, null, null); throw new AssertionError("Do not use this constructor!"); }*/ - private Module(String semester, HashSet lvNumber, String title, HashSet lecturer, String type) { + private Module(String semester, HashSet lvNumber, String title, HashSet lecturer, String type, String ID) { semester = semester.replace("Sommersemester", "SS").replace("Wintersemester", "WS"); semester = semester.replaceAll("[0-9]{2}([0-9]{2})", "$1"); @@ -98,6 +83,7 @@ public class Modules extends EventEmitter lvNumber, String title, HashSet lecturer, String type, String upgradeURI) { - super(semester, lvNumber, title, lecturer, type); - this.upgradeURI = upgradeURI; - } - - @Override - public String toString() { - return super.toString()+ - "\nupgradeURI: "+upgradeURI; - } - } - - public class UpgradeModule extends Module { - final String moduleID; - public String description = null; - - private UpgradeModule(SimpleModule module, String moduleID) { - super(module.semester, module.lvNumber, module.title, module.lecturer, module.type); - this.moduleID = moduleID; - } - - @Override - public String toString() { - return super.toString()+ - "\nmoduleID: "+moduleID+ - "\ndescription: "+description; + "\ntype: "+type+ + "\nID: "+ID; } } }