diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusApi.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusApi.kt index 507c438f..d06cc219 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusApi.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusApi.kt @@ -49,6 +49,7 @@ open class LibrusApi(open val data: DataLibrus, open val lastSync: Long?) { val error = if (response?.code() == 200) null else json.getString("Code") ?: json.getString("Message") ?: + json.getString("Status") ?: response?.parserErrorBody error?.let { code -> when (code) { @@ -67,6 +68,7 @@ open class LibrusApi(open val data: DataLibrus, open val lastSync: Long?) { "Nieprawidłowy węzeł." -> ERROR_LIBRUS_API_INCORRECT_ENDPOINT "NoticeboardProblem" -> ERROR_LIBRUS_API_NOTICEBOARD_PROBLEM "DeviceRegistered" -> ERROR_LIBRUS_API_DEVICE_REGISTERED + "Maintenance" -> ERROR_LIBRUS_API_MAINTENANCE else -> ERROR_LIBRUS_API_OTHER }.let { errorCode -> if (errorCode !in ignoreErrors) { @@ -119,6 +121,7 @@ open class LibrusApi(open val data: DataLibrus, open val lastSync: Long?) { .allowErrorCode(HTTP_UNAUTHORIZED) .allowErrorCode(HTTP_UNAVAILABLE) .allowErrorCode(HTTP_NOT_FOUND) + .allowErrorCode(503) .callback(callback) .build() .enqueue() diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusPortal.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusPortal.kt index 48017438..4a5e0af6 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusPortal.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/librus/data/LibrusPortal.kt @@ -44,6 +44,7 @@ open class LibrusPortal(open val data: DataLibrus) { "Access token is invalid" -> ERROR_LIBRUS_PORTAL_ACCESS_DENIED "ApiDisabled" -> ERROR_LIBRUS_PORTAL_API_DISABLED "Account not found" -> ERROR_LIBRUS_PORTAL_SYNERGIA_NOT_FOUND + "Unable to refresh the account" -> ERROR_LIBRUS_PORTAL_MAINTENANCE else -> when (json.getString("hint")) { "Error while decoding to JSON" -> ERROR_LIBRUS_PORTAL_ACCESS_DENIED else -> ERROR_LIBRUS_PORTAL_OTHER @@ -97,6 +98,7 @@ open class LibrusPortal(open val data: DataLibrus) { .allowErrorCode(HttpURLConnection.HTTP_UNAUTHORIZED) .allowErrorCode(HttpURLConnection.HTTP_BAD_REQUEST) .allowErrorCode(HttpURLConnection.HTTP_GONE) + .allowErrorCode(424) .callback(callback) .build() .enqueue() diff --git a/app/src/main/res/values/errors.xml b/app/src/main/res/values/errors.xml index c69c7c99..903c87bf 100644 --- a/app/src/main/res/values/errors.xml +++ b/app/src/main/res/values/errors.xml @@ -188,7 +188,7 @@ Błąd serwera: odpowiedź niedostępna Błąd serwera: niespełnione zależności Wewnętrzny błąd serwera - Usługa tymczasowo niedostępna + Dziennik jest tymczasowo niedostępny Brak internetu: nie znaleziono adresu serwera Brak internetu: przekroczono czas oczekiwania Brak internetu