diff --git a/app/src/main/java/de/sebse/fuplanner/services/kvv/Constants.java b/app/src/main/java/de/sebse/fuplanner/services/kvv/Constants.java new file mode 100644 index 0000000..5929ffd --- /dev/null +++ b/app/src/main/java/de/sebse/fuplanner/services/kvv/Constants.java @@ -0,0 +1,5 @@ +package de.sebse.fuplanner.services.kvv; + +public class Constants { + public static final String KVV_SERVER_URL = "https://mycampus.imp.fu-berlin.de/"; +} diff --git a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesAnnouncements.java b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesAnnouncements.java index 3e54973..e1bf0b1 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesAnnouncements.java +++ b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesAnnouncements.java @@ -39,7 +39,7 @@ public class ModulesAnnouncements extends PartModules> { errorCallback.onError(new NetworkError(101204, 500, "Currently running in offline mode!")); return; } - super.get(String.format("https://kvv.imp.fu-berlin.de/direct/announcement/site/%s.json?n=999999&d=999999999&_validateSession=", ID), mLogin.getLoginTokenKVV().getCookies(), response -> { + super.get(String.format(Constants.KVV_SERVER_URL+"direct/announcement/site/%s.json?n=999999&d=999999999&_validateSession=", ID), mLogin.getLoginTokenKVV().getCookies(), response -> { String body = response.getParsed(); if (body == null) { errorCallback.onError(new NetworkError(101201, 403, "No announcements retrieved!")); diff --git a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesAssignments.java b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesAssignments.java index 6a9101a..22e30c8 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesAssignments.java +++ b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesAssignments.java @@ -39,7 +39,7 @@ public class ModulesAssignments extends PartModules { errorCallback.onError(new NetworkError(101304, 500, "Currently running in offline mode!")); return; } - get(String.format("https://kvv.imp.fu-berlin.de/direct/assignment/site/%s.json?_validateSession=", ID), mLogin.getLoginTokenKVV().getCookies(), response -> { + get(String.format(Constants.KVV_SERVER_URL+"direct/assignment/site/%s.json?_validateSession=", ID), mLogin.getLoginTokenKVV().getCookies(), response -> { String body = response.getParsed(); if (body == null) { errorCallback.onError(new NetworkError(101301, 403, "No assignments retrieved!")); diff --git a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesEvents.java b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesEvents.java index fc360a7..6702517 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesEvents.java +++ b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesEvents.java @@ -47,7 +47,7 @@ public class ModulesEvents extends PartModules { 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?detailed=true&_validateSession=", ID), mLogin.getLoginTokenKVV().getCookies(), response -> { + get(String.format(Constants.KVV_SERVER_URL+"direct/calendar/site/%s.json?detailed=true&_validateSession=", ID), mLogin.getLoginTokenKVV().getCookies(), response -> { String body = response.getParsed(); if (body == null) { errorCallback.onError(new NetworkError(101401, 403, "No events retrieved!")); diff --git a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesGradebook.java b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesGradebook.java index 0eac706..8aaf9f1 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesGradebook.java +++ b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesGradebook.java @@ -38,7 +38,7 @@ public class ModulesGradebook extends PartModules> { errorCallback.onError(new NetworkError(101504, 500, "Currently running in offline mode!")); return; } - super.get(String.format("https://kvv.imp.fu-berlin.de/direct/gradebook/site/%s.json", ID), mLogin.getLoginTokenKVV().getCookies(), response -> { + super.get(String.format(Constants.KVV_SERVER_URL+"direct/gradebook/site/%s.json", ID), mLogin.getLoginTokenKVV().getCookies(), response -> { String body = response.getParsed(); if (body == null) { errorCallback.onError(new NetworkError(101501, 403, "No gradebook retrieved!")); 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 8a91d31..3c0241c 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 @@ -196,7 +196,7 @@ public class ModulesList extends HTTPService { callback.onResponse(modules); return; } - get("https://kvv.imp.fu-berlin.de/direct/membership.json?_validateSession=", mLogin.getLoginTokenKVV().getCookies(), response -> { + get(Constants.KVV_SERVER_URL+"direct/membership.json?_validateSession=", mLogin.getLoginTokenKVV().getCookies(), response -> { String body = response.getParsed(); if (body == null) { errorCallback.onError(new NetworkError(101111, 403, "No membership list retrieved!")); @@ -228,7 +228,7 @@ public class ModulesList extends HTTPService { if (--latch[0] == 0) successCallback.onResponse(modules); continue; } - get(String.format("https://kvv.imp.fu-berlin.de/direct/site/%s.json?_validateSession=", courseId), mLogin.getLoginTokenKVV().getCookies(), response1 -> { + get(String.format(Constants.KVV_SERVER_URL+"direct/site/%s.json?_validateSession=", courseId), mLogin.getLoginTokenKVV().getCookies(), response1 -> { String body1 = response1.getParsed(); if (body1 == null) { errorCallback.onError(new NetworkError(101113, 403, "No site retrieved!")); diff --git a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesResources.java b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesResources.java index 5e0ca60..7f8abf1 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesResources.java +++ b/app/src/main/java/de/sebse/fuplanner/services/kvv/ModulesResources.java @@ -47,7 +47,7 @@ public class ModulesResources extends PartModules> { errorCallback.onError(new NetworkError(101604, 500, "Currently running in offline mode!")); return; } - get(String.format("https://kvv.imp.fu-berlin.de/direct/content/site/%s.json?_validateSession=", ID), mLogin.getLoginTokenKVV().getCookies(), response -> { + get(String.format(Constants.KVV_SERVER_URL+"direct/content/site/%s.json?_validateSession=", ID), mLogin.getLoginTokenKVV().getCookies(), response -> { String body = response.getParsed(); if (body == null) { errorCallback.onError(new NetworkError(101601, 403, "No resources retrieved!")); diff --git a/app/src/main/java/de/sebse/fuplanner/services/kvv/sync/KVVLogin.java b/app/src/main/java/de/sebse/fuplanner/services/kvv/sync/KVVLogin.java index ac9d7c5..64c4b59 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/kvv/sync/KVVLogin.java +++ b/app/src/main/java/de/sebse/fuplanner/services/kvv/sync/KVVLogin.java @@ -10,6 +10,7 @@ import java.util.HashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; +import de.sebse.fuplanner.services.kvv.Constants; import de.sebse.fuplanner.services.kvv.types.LoginTokenKVV; import de.sebse.fuplanner.tools.network.HTTPService; import de.sebse.fuplanner.tools.network.NetworkCallback; @@ -22,6 +23,8 @@ public class KVVLogin extends HTTPService { private long lastSync; private static final long MAX_CACHE_TIME = 1000 * 60; // 1 minute + public static final String KVV_SERVER_URL = Constants.KVV_SERVER_URL; + public KVVLogin(Context context, FULogin fuLogin) { super(context); this.mFULogin = fuLogin; @@ -33,7 +36,7 @@ public class KVVLogin extends HTTPService { callback.onResponse(token); return; } - get(String.format("https://kvv.imp.fu-berlin.de/direct/profile/%s.json", token.getUsername()), token.getCookies(), response -> { + get(String.format(KVV_SERVER_URL+"direct/profile/%s.json", token.getUsername()), token.getCookies(), response -> { String body = response.getParsed(); if (body == null) { errorCallback.onError(new NetworkError(100172, 403, "Testing login failed!")); @@ -87,7 +90,7 @@ public class KVVLogin extends HTTPService { } private void step0(String username, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - get(String.format("https://kvv.imp.fu-berlin.de/direct/profile/%s", username), null, result -> { + get(String.format(KVV_SERVER_URL+"direct/profile/%s", username), null, result -> { callback.onResponse(true); }, error -> { if (error.networkResponse.statusCode == 500) { @@ -103,7 +106,7 @@ public class KVVLogin extends HTTPService { -> Location-Header: https://identity.fu-berlin.de/idp-fub/profile/SAML2/Redirect/SSO?SAMLResponse=[SAMLResponse]&RelayState=[RelayState] */ private void step1(final NetworkCallback> callback, final NetworkErrorCallback errorCallback) { - get("https://kvv.imp.fu-berlin.de/Shibboleth.sso/Login?entityID=https://identity.fu-berlin.de/idp-fub", null, response -> { + get(KVV_SERVER_URL+"Shibboleth.sso/Login?entityID=https://identity.fu-berlin.de/idp-fub", null, response -> { String location = response.getHeaders().get("Location"); if (location==null) { errorCallback.onError(new NetworkError(100111, -1, "Error on getting SAML request!")); @@ -124,7 +127,7 @@ public class KVVLogin extends HTTPService { private void step5(String SAMLResponse, final NetworkCallback> callback, final NetworkErrorCallback errorCallback) { HashMap body = new HashMap<>(); body.put("SAMLResponse", SAMLResponse); - post("https://kvv.imp.fu-berlin.de/Shibboleth.sso/SAML2/POST", null, body, response -> { + post(KVV_SERVER_URL+"/Shibboleth.sso/SAML2/POST", null, body, response -> { String cookies = response.getHeaders().get("Set-Cookie"); if (cookies ==null) { errorCallback.onError(new NetworkError(100151, -1, "Error on starting KVV session!")); @@ -154,7 +157,7 @@ public class KVVLogin extends HTTPService { private void step6(String shibsessionKey, String shibsessionName, final NetworkCallback> callback, final NetworkErrorCallback errorCallback) { HashMap cookies = new HashMap<>(); cookies.put(shibsessionKey, shibsessionName); - get("https://kvv.imp.fu-berlin.de/sakai-login-tool/container", cookies, response -> { + get(KVV_SERVER_URL+"sakai-login-tool/container", cookies, response -> { String cookies1 = response.getHeaders().get("Set-Cookie"); if (cookies1 ==null) { errorCallback.onError(new NetworkError(100161, -1, "Cannot finish login process!"));