[API/Idziennik] Add showing error on getting recipient list with no permissions. Translate some error codes.

This commit is contained in:
Kuba Szczodrzyński
2020-01-05 20:26:55 +01:00
parent fc58035bbf
commit ae42c227a8
4 changed files with 38 additions and 27 deletions

View File

@ -164,6 +164,7 @@ const val ERROR_IDZIENNIK_WEB_REQUEST_NO_DATA = 441
const val ERROR_IDZIENNIK_API_ACCESS_DENIED = 450
const val ERROR_IDZIENNIK_API_OTHER = 451
const val ERROR_IDZIENNIK_API_NO_REGISTER = 452
const val ERROR_IDZIENNIK_WEB_RECIPIENT_LIST_NO_PERMISSION = 453
const val ERROR_LOGIN_EDUDZIENNIK_WEB_INVALID_LOGIN = 501
const val ERROR_LOGIN_EDUDZIENNIK_WEB_OTHER = 510

View File

@ -41,6 +41,13 @@ open class IdziennikWeb(open val data: DataIdziennik) {
return
}
if (response?.code() == HTTP_INTERNAL_ERROR && endpoint == IDZIENNIK_WEB_GET_RECIPIENT_LIST) {
data.error(ApiError(tag, ERROR_IDZIENNIK_WEB_RECIPIENT_LIST_NO_PERMISSION)
.withResponse(response)
.withApiResponse(json))
return
}
when {
response?.code() == HTTP_UNAUTHORIZED -> ERROR_IDZIENNIK_WEB_ACCESS_DENIED
response?.code() == HTTP_INTERNAL_ERROR -> ERROR_IDZIENNIK_WEB_SERVER_ERROR

View File

@ -4,6 +4,7 @@
package pl.szczodrzynski.edziennik.ui.modules.error
import android.graphics.Color
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
@ -40,7 +41,7 @@ class ErrorSnackbar(val activity: AppCompatActivity) : CoroutineScope {
if (errors.isNotEmpty()) {
val message = errors.map {
listOf(
it.getStringReason(activity).asBoldSpannable(),
it.getStringReason(activity).asBoldSpannable().asColoredSpannable(Color.BLACK),
if (App.devMode)
it.throwable?.stackTraceString ?: it.throwable?.localizedMessage
else