Skip to content

Commit a0dac52

Browse files
committed
Merge branch 'develop-v4'
2 parents 240216d + 86f3653 commit a0dac52

File tree

28 files changed

+575
-98
lines changed

28 files changed

+575
-98
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ dependencies {
212212
implementation "cat.ereza:customactivityoncrash:2.3.0"
213213
implementation "com.android.volley:volley:1.2.1"
214214
implementation "com.daimajia.swipelayout:library:1.2.0@aar"
215-
implementation "com.github.Applandeo:Material-Calendar-View:15de569cbc" // https://github.com/Applandeo/Material-Calendar-View
215+
implementation "com.github.Applandeo:Material-Calendar-View:8abaf10496" // https://github.com/Applandeo/Material-Calendar-View
216216
implementation "com.github.CanHub:Android-Image-Cropper:2.2.2" // https://github.com/CanHub/Android-Image-Cropper
217217
implementation "com.github.ChuckerTeam.Chucker:library:3.5.2" // https://github.com/ChuckerTeam/chucker
218218
implementation "com.github.antonKozyriatskyi:CircularProgressIndicator:1.2.2" // https://github.com/antonKozyriatskyi/CircularProgressIndicator

app/src/main/assets/pl-changelog.html

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
<h3>Wersja 4.14.1, 2025-02-05</h3>
1+
<h3>Wersja 4.15, 2025-11-25</h3>
22
<ul>
3-
<li>USOS: <b>dodano obsługę ocen</b>.</li>
4-
<li>USOS: obliczanie średniej za studia oraz punktów ECTS.</li>
5-
<li>USOS: poprawiono brak planu zajęć po rozpoczęciu roku.</li>
6-
<li>Wyłączono archiwizator profili.</li>
7-
<li>Naprawiono zatrzymanie aplikacji na Androidzie 14.</li>
8-
<li>Udostępniono opcję wyłączania śniegu również w lutym.</li>
3+
<li>USOS: <b>dodano obsługę egzaminów</b>.</li>
4+
<li>Dodano opcję blokowania i konfiguracji kart na stronie głównej.</li>
95
</ul>
106
<br>
117
<br>

app/src/main/cpp/szkolny-signing.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
/*secret password - removed for source code publication*/
1111
static toys AES_IV[16] = {
12-
0x58, 0x51, 0x7b, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
12+
0xa3, 0x7e, 0xe4, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
1313

1414
unsigned char *agony(unsigned int laugh, unsigned char *box, unsigned char *heat);
1515

app/src/main/java/pl/szczodrzynski/edziennik/config/ProfileConfigUI.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ class ProfileConfigUI(base: ProfileConfig) {
2020
var agendaElearningGroup by base.config<Boolean>(true)
2121

2222
var homeCards by base.config<List<HomeCardModel>> { listOf() }
23+
var homeCardsLocked by base.config<Boolean>(false)
24+
var homeEventsLimit by base.config<Int>(4)
25+
var homeEventsWeeks by base.config<Int>(4)
26+
var homeGradesWeeks by base.config<Int>(1)
2327

2428
var messagesGreetingOnCompose by base.config<Boolean>(true)
2529
var messagesGreetingOnReply by base.config<Boolean>(true)

app/src/main/java/pl/szczodrzynski/edziennik/data/api/Errors.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ const val ERROR_LIBRUS_MESSAGES_NOT_FOUND = 186
148148
const val ERROR_LOGIN_LIBRUS_API_INVALID_REQUEST = 187
149149
const val ERROR_LIBRUS_MESSAGES_ATTACHMENT_NOT_FOUND = 188
150150
const val ERROR_LOGIN_LIBRUS_MESSAGES_TIMEOUT = 189
151+
const val ERROR_LIBRUS_API_TEACHER_FREE_DAYS_NOT_PUBLIC = 190
151152

152153
const val ERROR_LOGIN_MOBIDZIENNIK_WEB_INVALID_LOGIN = 201
153154
const val ERROR_LOGIN_MOBIDZIENNIK_WEB_OLD_PASSWORD = 202

app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/Librus.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ import pl.szczodrzynski.edziennik.data.db.enums.LoginMethod
2929
import pl.szczodrzynski.edziennik.data.db.full.AnnouncementFull
3030
import pl.szczodrzynski.edziennik.data.db.full.EventFull
3131
import pl.szczodrzynski.edziennik.data.db.full.MessageFull
32+
import pl.szczodrzynski.edziennik.ext.DAY
33+
import pl.szczodrzynski.edziennik.ext.HOUR
34+
import pl.szczodrzynski.edziennik.ext.WEEK
3235
import pl.szczodrzynski.edziennik.utils.Utils.d
3336

3437
class Librus(val app: App, val profile: Profile?, val loginStore: LoginStore, val callback: EdziennikCallback) : EdziennikInterface {
@@ -235,6 +238,11 @@ class Librus(val app: App, val profile: Profile?, val loginStore: LoginStore, va
235238
data.app.config.sync.tokenLibrusList + data.profileId
236239
data()
237240
}
241+
ERROR_LIBRUS_API_TEACHER_FREE_DAYS_NOT_PUBLIC -> {
242+
d(TAG, "Student not have access to Teacher Free Days resource")
243+
data.setSyncNext(ENDPOINT_LIBRUS_API_TEACHER_FREE_DAYS, 1 * WEEK, FeatureType.AGENDA)
244+
data()
245+
}
238246
else -> callback.onError(apiError)
239247
}
240248
}

app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusApi.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ open class LibrusApi(open val data: DataLibrus, open val lastSync: Long?) {
6969
"NoticeboardProblem" -> ERROR_LIBRUS_API_NOTICEBOARD_PROBLEM
7070
"DeviceRegistered" -> ERROR_LIBRUS_API_DEVICE_REGISTERED
7171
"Maintenance" -> ERROR_LIBRUS_API_MAINTENANCE
72+
"TeacherFreeDaysIsNotActive" -> ERROR_LIBRUS_API_TEACHER_FREE_DAYS_NOT_PUBLIC
7273
else -> ERROR_LIBRUS_API_OTHER
7374
}.let { errorCode ->
7475
if (errorCode !in ignoreErrors) {

app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/api/LibrusApiTeacherFreeDays.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class LibrusApiTeacherFreeDays(override val data: DataLibrus,
2929
data.db.teacherAbsenceTypeDao().getAllNow(profileId).toSparseArray(data.teacherAbsenceTypes) { it.id }
3030
}
3131

32-
apiGet(TAG, "TeacherFreeDays") { json ->
32+
apiGet(TAG, "Calendars/TeacherFreeDays") { json ->
3333
val teacherAbsences = json.getJsonArray("TeacherFreeDays")?.asJsonObjectList()
3434

3535
teacherAbsences?.forEach { teacherAbsence ->

app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/usos/UsosFeatures.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const val ENDPOINT_USOS_API_COURSES = 7020
1616
const val ENDPOINT_USOS_API_TIMETABLE = 7030
1717
const val ENDPOINT_USOS_API_ECTS_POINTS = 7040
1818
const val ENDPOINT_USOS_API_EXAM_REPORTS = 7050
19+
const val ENDPOINT_USOS_API_EXAMS = 7060
1920

2021
val UsosFeatures = listOf(
2122
/*
@@ -42,6 +43,13 @@ val UsosFeatures = listOf(
4243
ENDPOINT_USOS_API_TIMETABLE to LoginMethod.USOS_API,
4344
)),
4445

46+
/*
47+
* Agenda
48+
*/
49+
Feature(LoginType.USOS, FeatureType.AGENDA, listOf(
50+
ENDPOINT_USOS_API_EXAMS to LoginMethod.USOS_API,
51+
)),
52+
4553
/*
4654
* Grades
4755
*/

app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/usos/data/UsosData.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import pl.szczodrzynski.edziennik.data.api.edziennik.usos.*
1010
import pl.szczodrzynski.edziennik.data.api.edziennik.usos.data.api.UsosApiCourses
1111
import pl.szczodrzynski.edziennik.data.api.edziennik.usos.data.api.UsosApiEctsPoints
1212
import pl.szczodrzynski.edziennik.data.api.edziennik.usos.data.api.UsosApiExamReports
13+
import pl.szczodrzynski.edziennik.data.api.edziennik.usos.data.api.UsosApiExams
1314
import pl.szczodrzynski.edziennik.data.api.edziennik.usos.data.api.UsosApiTerms
1415
import pl.szczodrzynski.edziennik.data.api.edziennik.usos.data.api.UsosApiTimetable
1516
import pl.szczodrzynski.edziennik.data.api.edziennik.usos.data.api.UsosApiUser
@@ -68,6 +69,10 @@ class UsosData(val data: DataUsos, val onSuccess: () -> Unit) {
6869
data.startProgress(R.string.edziennik_progress_endpoint_grades)
6970
UsosApiExamReports(data, lastSync, onSuccess)
7071
}
72+
ENDPOINT_USOS_API_EXAMS -> {
73+
data.startProgress(R.string.edziennik_progress_endpoint_exams)
74+
UsosApiExams(data, lastSync, onSuccess)
75+
}
7176
else -> onSuccess(endpointId)
7277
}
7378
}

0 commit comments

Comments
 (0)