From 80333cdea4193503d00f75ec838cd923f0cc5793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Sun, 21 Feb 2021 23:52:45 +0100 Subject: [PATCH] [Vulcan] Add API deprecation message. --- .../java/pl/szczodrzynski/edziennik/MainActivity.kt | 5 +++++ .../java/pl/szczodrzynski/edziennik/data/api/Errors.kt | 1 + .../data/api/edziennik/vulcan/data/VulcanData.kt | 10 ++++++++-- app/src/main/res/values/errors.xml | 2 ++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt index 0bbc77f7..d5a1adde 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt @@ -38,6 +38,7 @@ import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode import pl.droidsonroids.gif.GifDrawable +import pl.szczodrzynski.edziennik.data.api.ERROR_VULCAN_API_DEPRECATED import pl.szczodrzynski.edziennik.data.api.edziennik.EdziennikTask import pl.szczodrzynski.edziennik.data.api.events.* import pl.szczodrzynski.edziennik.data.api.models.ApiError @@ -64,6 +65,7 @@ import pl.szczodrzynski.edziennik.ui.modules.base.MainSnackbar import pl.szczodrzynski.edziennik.ui.modules.behaviour.BehaviourFragment import pl.szczodrzynski.edziennik.ui.modules.debug.DebugFragment import pl.szczodrzynski.edziennik.ui.modules.debug.LabFragment +import pl.szczodrzynski.edziennik.ui.modules.error.ErrorDetailsDialog import pl.szczodrzynski.edziennik.ui.modules.error.ErrorSnackbar import pl.szczodrzynski.edziennik.ui.modules.feedback.FeedbackFragment import pl.szczodrzynski.edziennik.ui.modules.feedback.HelpFragment @@ -756,6 +758,9 @@ class MainActivity : AppCompatActivity(), CoroutineScope { } mainSnackbar.dismiss() errorSnackbar.addError(event.error).show() + if (event.error.errorCode == ERROR_VULCAN_API_DEPRECATED) { + ErrorDetailsDialog(this, listOf(event.error)) + } } @Subscribe(threadMode = ThreadMode.MAIN, sticky = true) fun onAppManagerDetectedEvent(event: AppManagerDetectedEvent) { diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Errors.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Errors.kt index c7a47e24..6809ed2e 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Errors.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Errors.kt @@ -171,6 +171,7 @@ const val ERROR_VULCAN_WEB_CERTIFICATE_POST_FAILED = 351 const val ERROR_VULCAN_WEB_GRADUATE_ACCOUNT = 352 const val ERROR_VULCAN_WEB_NO_SCHOOLS = 353 const val ERROR_VULCAN_HEBE_OTHER = 354 +const val ERROR_VULCAN_API_DEPRECATED = 390 const val ERROR_LOGIN_IDZIENNIK_WEB_INVALID_LOGIN = 401 const val ERROR_LOGIN_IDZIENNIK_WEB_INVALID_SCHOOL_NAME = 402 diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanData.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanData.kt index 02dfdc5b..2fc21190 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanData.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/edziennik/vulcan/data/VulcanData.kt @@ -5,6 +5,8 @@ package pl.szczodrzynski.edziennik.data.api.edziennik.vulcan.data import pl.szczodrzynski.edziennik.R +import pl.szczodrzynski.edziennik.data.api.ERROR_VULCAN_API_DEPRECATED +import pl.szczodrzynski.edziennik.data.api.LOGIN_MODE_VULCAN_API import pl.szczodrzynski.edziennik.data.api.edziennik.vulcan.* import pl.szczodrzynski.edziennik.data.api.edziennik.vulcan.data.api.* import pl.szczodrzynski.edziennik.data.api.edziennik.vulcan.data.hebe.* @@ -26,7 +28,11 @@ class VulcanData(val data: DataVulcan, val onSuccess: () -> Unit) { ENDPOINT_VULCAN_HEBE_MESSAGES_SENT ) - init { + init { run { + if (data.loginStore.mode == LOGIN_MODE_VULCAN_API) { + data.error(TAG, ERROR_VULCAN_API_DEPRECATED) + return@run + } if (data.studentSemesterNumber == 2 && data.profile?.empty != false) { firstSemesterSync = true // set to sync 1st semester first @@ -41,7 +47,7 @@ class VulcanData(val data: DataVulcan, val onSuccess: () -> Unit) { } onSuccess() } - } + }} private fun nextEndpoint(onSuccess: () -> Unit) { if (data.targetEndpointIds.isEmpty()) { diff --git a/app/src/main/res/values/errors.xml b/app/src/main/res/values/errors.xml index 3e5f48d6..91fae735 100644 --- a/app/src/main/res/values/errors.xml +++ b/app/src/main/res/values/errors.xml @@ -130,6 +130,7 @@ ERROR_VULCAN_API_BAD_REQUEST ERROR_VULCAN_API_OTHER ERROR_VULCAN_ATTACHMENT_DOWNLOAD + ERROR_VULCAN_API_DEPRECATED ERROR_LOGIN_IDZIENNIK_WEB_INVALID_LOGIN ERROR_LOGIN_IDZIENNIK_WEB_INVALID_SCHOOL_NAME @@ -318,6 +319,7 @@ VULCAN®: błąd żądania, zgłoś błąd VULCAN®: inny błąd, wyślij zgłoszenie VULCAN®: nie znaleziono adresu załącznika + W związku z wygaszeniem aplikacji Dzienniczek+ przez firmę Vulcan, należy zalogować się ponownie.\n\nAby móc dalej korzystać z aplikacji Szkolny.eu, otwórz Ustawienia i wybierz opcję Dodaj nowego ucznia.\nNastępnie zaloguj się do dziennika Vulcan zgodnie z instrukcją.\n\nPrzepraszamy za niedogodności. Nieprawidłowe dane logowania Nieprawidłowa nazwa szkoły