taler-android

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

commit 0e0ae90fd92b0cd59cd46b1ba97cb9c6d389f736
parent a6bcae6d08832a25162e93e238be8eda95e55875
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Sun, 18 Oct 2026 17:48:14 +0200

properly detect versioning issue in taldir

Diffstat:
Mwallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt | 10+++++++++-
Mwallet/src/test/java/net/taler/wallet/backend/WalletResponseTest.kt | 14++++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt b/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt @@ -91,7 +91,15 @@ data class TalerErrorInfo( } else { // Otherwise, use the standard ones hint?.let { append(it) } - message?.let { append(" ").append(it) } + message?.let { + if (isNotEmpty()) append(" ") + append(it) + } + if (isEmpty()) { + getStringExtra("detail")?.let { + append(it) + } + } } }.toString() } diff --git a/wallet/src/test/java/net/taler/wallet/backend/WalletResponseTest.kt b/wallet/src/test/java/net/taler/wallet/backend/WalletResponseTest.kt @@ -81,6 +81,20 @@ class WalletResponseTest { } @Test + fun testWalletErrorInfoDetailFallback() { + val infoJson = """ + { + "code": 3, + "requestUrl": "https://taldir.gnunet.org/config", + "httpStatusCode": 200, + "detail": "Unsupported protocol version, client supports 1:0:0, server supports 0:0:0" + } + """.trimIndent() + val info = json.decodeFromString(TalerErrorInfo.serializer(), infoJson) + assertEquals("Unsupported protocol version, client supports 1:0:0, server supports 0:0:0", info.userFacingMsg) + } + + @Test fun knownWalletErrorCodeRoundTrips() { val info = json.decodeFromString( TalerErrorInfo.serializer(),