diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/api/Librus.java b/app/src/main/java/pl/szczodrzynski/edziennik/api/Librus.java
index 592131ad..ffc50b04 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/api/Librus.java
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/api/Librus.java
@@ -199,6 +199,7 @@ public class Librus implements EdziennikInterface {
private boolean enableDescriptiveGrades = false;
private boolean enableTextGrades = false;
private boolean enableBehaviourGrades = true;
+ private long unitId = -1;
private int startPointsSemester1 = 0;
private int startPointsSemester2 = 0;
@@ -346,6 +347,7 @@ public class Librus implements EdziennikInterface {
targetEndpoints.add("Events");
targetEndpoints.add("CustomTypes");
targetEndpoints.add("PtMeetings");
+ targetEndpoints.add("SchoolFreeDays");
break;
case FEATURE_GRADES:
targetEndpoints.add("SavedGradeCategories");
@@ -534,6 +536,9 @@ public class Librus implements EdziennikInterface {
case "TeacherFreeDays":
getTeacherFreeDays();
break;
+ case "SchoolFreeDays":
+ getSchoolFreeDays();
+ break;
case "MessagesLogin":
getMessagesLogin();
break;
@@ -1403,7 +1408,8 @@ public class Librus implements EdziennikInterface {
}
JsonElement unit = myClass.get("Unit");
if (unit != null && !(unit instanceof JsonNull)) {
- profile.putStudentData("unitId", unit.getAsJsonObject().get("Id").getAsLong());
+ unitId = unit.getAsJsonObject().get("Id").getAsLong();
+ profile.putStudentData("unitId", unitId);
}
r("finish", "Classes");
}
@@ -3071,6 +3077,26 @@ public class Librus implements EdziennikInterface {
});
}
+ private void getSchoolFreeDays() {
+ callback.onActionStarted(R.string.sync_action_syncing_school_free_days);
+ apiRequest("SchoolFreeDays" + (unitId != -1 ? "?unit=" + unitId : ""), data -> {
+ if (data == null) {
+ r("finish", "SchoolFreeDays");
+ return;
+ }
+ try {
+ JsonArray jFreeDays = data.get("SchoolFreeDays").getAsJsonArray();
+
+ for (JsonElement freeDayEl: jFreeDays) {
+ continue;
+ }
+ r("finish", "SchoolFreeDays");
+ } catch (Exception e) {
+ finishWithError(new AppError(TAG, 3069, CODE_OTHER, e, data));
+ }
+ });
+ }
+
private void getMessagesLogin() {
if (synergiaPassword == null) {
// skip messages
@@ -3668,4 +3694,4 @@ public class Librus implements EdziennikInterface {
public MessagesComposeInfo getComposeInfo(@NonNull ProfileFull profile) {
return new MessagesComposeInfo(0, 0, 150, 20000);
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0dd0cdc8..e0f6a927 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -908,4 +908,5 @@
Serwer Discord
Dołącz do naszego serwera Discord!
Debugowanie
+ Pobieranie dni wolnych szkoły