diff options
author | Torsten Grote <t@grobox.de> | 2020-09-01 11:12:31 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-09-01 11:13:17 -0300 |
commit | c928b458fce0c72c75852ab338a6e4e85a278ed4 (patch) | |
tree | 02f70b9be6ca1cc5cb30ad41631bac92d9f49ed0 /wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt | |
parent | c59243c9bdabf07137ad0f070b6ecbde57e66466 (diff) | |
download | taler-android-c928b458fce0c72c75852ab338a6e4e85a278ed4.tar.gz taler-android-c928b458fce0c72c75852ab338a6e4e85a278ed4.tar.bz2 taler-android-c928b458fce0c72c75852ab338a6e4e85a278ed4.zip |
[wallet] support the new TalerErrorInfo error format
Yet another last-minute breaking protocol change.
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt | 19 |
1 files changed, 9 insertions, 10 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 5826997..2476607 100644 --- a/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt +++ b/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt @@ -38,7 +38,7 @@ sealed class WalletResponse<T> { @Serializable @SerialName("error") data class Error<T>( - val error: WalletErrorInfo + val error: TalerErrorInfo ) : WalletResponse<T>() fun onSuccess(block: (result: T) -> Unit): WalletResponse<T> { @@ -46,35 +46,34 @@ sealed class WalletResponse<T> { return this } - fun onError(block: (result: WalletErrorInfo) -> Unit): WalletResponse<T> { + fun onError(block: (result: TalerErrorInfo) -> Unit): WalletResponse<T> { if (this is Error) block(this.error) return this } } @Serializable -data class WalletErrorInfo( +data class TalerErrorInfo( // Numeric error code defined defined in the // GANA gnu-taler-error-codes registry. - val talerErrorCode: Int, + val code: Int, // English description of the error code. - val talerErrorHint: String, + val hint: String?, // English diagnostic message that can give details // for the instance of the error. - val message: String, + val message: String?, - // Error details, type depends on talerErrorCode + // Error details @Serializable(JSONObjectDeserializer::class) val details: JSONObject? ) { val userFacingMsg: String get() { return StringBuilder().apply { - append(talerErrorCode) - append(" ") - append(message) + append(code) + message?.let { append(" ").append(it) } details?.let { details -> append("\n\n") details.optJSONObject("errorResponse")?.let { errorResponse -> |