diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-01-18 11:05:58 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2023-01-18 11:05:58 -0600 |
commit | 18f1ebe0401e61d7dfab2e759708c74b76d3f672 (patch) | |
tree | 5b8d04e1667acdfd58bb2b38e940992b256a763d /wallet/src/main/java/net/taler/wallet/backend | |
parent | badc5aa771a4af9c9cd321a3300729b5104a3661 (diff) | |
download | taler-android-18f1ebe0401e61d7dfab2e759708c74b76d3f672.tar.gz taler-android-18f1ebe0401e61d7dfab2e759708c74b76d3f672.tar.bz2 taler-android-18f1ebe0401e61d7dfab2e759708c74b76d3f672.zip |
[wallet] Fix crash when handling unknown error code.
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/backend')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/backend/TalerErrorCode.kt | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/backend/TalerErrorCode.kt b/wallet/src/main/java/net/taler/wallet/backend/TalerErrorCode.kt index 5eff981..edcfd17 100644 --- 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) { |