summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-06-24 23:11:39 -0600
committerTorsten Grote <t@grobox.de>2023-07-04 13:29:10 -0300
commit42d2953cf4789f60609d04557d68bd97b6c1fcae (patch)
tree0e7ddea4cdf47ec7f5c4ef68330a1a77dcf464f8
parent822890199c836113bffb0e57546447068f229a50 (diff)
downloadtaler-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.kt14
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()
}