taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

commit 18f1ebe0401e61d7dfab2e759708c74b76d3f672
parent badc5aa771a4af9c9cd321a3300729b5104a3661
Author: Iván Ávalos <avalos@disroot.org>
Date:   Wed, 18 Jan 2023 11:05:58 -0600

[wallet] Fix crash when handling unknown error code.

Diffstat:
Mwallet/src/main/java/net/taler/wallet/backend/TalerErrorCode.kt | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/wallet/src/main/java/net/taler/wallet/backend/TalerErrorCode.kt b/wallet/src/main/java/net/taler/wallet/backend/TalerErrorCode.kt @@ -34,6 +34,8 @@ import kotlinx.serialization.encoding.Encoder @Serializable(TalerErrorCodeSerializer::class) enum class TalerErrorCode(val code: Int) { + UNKNOWN(-1), + /** * Special code to indicate success (no error). @@ -3883,7 +3885,9 @@ object TalerErrorCodeSerializer: KSerializer<TalerErrorCode> { override fun deserialize(decoder: Decoder): TalerErrorCode { val code = decoder.decodeInt() - return enumValues<TalerErrorCode>().first { code == it.code } + return enumValues<TalerErrorCode>().firstOrNull { + code == it.code + } ?: TalerErrorCode.UNKNOWN } override fun serialize(encoder: Encoder, value: TalerErrorCode) {