diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-06-24 23:11:39 -0600 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2023-07-04 13:29:10 -0300 |
commit | 42d2953cf4789f60609d04557d68bd97b6c1fcae (patch) | |
tree | 0e7ddea4cdf47ec7f5c4ef68330a1a77dcf464f8 | |
parent | 822890199c836113bffb0e57546447068f229a50 (diff) | |
download | taler-android-42d2953cf4789f60609d04557d68bd97b6c1fcae.tar.gz taler-android-42d2953cf4789f60609d04557d68bd97b6c1fcae.tar.bz2 taler-android-42d2953cf4789f60609d04557d68bd97b6c1fcae.zip |
[wallet] Show errorResponse hint in error response when available.
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt b/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt index 37bf91e..8ef135f 100644 --- a/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt +++ b/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt @@ -29,6 +29,7 @@ import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.buildJsonObject +import kotlinx.serialization.json.jsonObject import kotlinx.serialization.json.jsonPrimitive @Serializable @@ -75,8 +76,17 @@ data class TalerErrorInfo( val userFacingMsg: String get() { return StringBuilder().apply { - hint?.let { append(it) } - message?.let { append(" ").append(it) } + // If there's a hint in errorResponse, use it. + extra["errorResponse"] + ?.jsonObject + ?.get("hint") + ?.let { + append(it.jsonPrimitive.content) + } ?: { + // Otherwise, use the standard ones. + hint?.let { append(it) } + message?.let { append(" ").append(it) } + } }.toString() } |