summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/Utils.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-04-28 23:03:38 -0600
committerTorsten Grote <t@grobox.de>2023-06-28 09:01:10 -0300
commit43c30b4482b68a8b5073afec66b68b07b30be436 (patch)
tree8a7ec1d82dcf6c42d84e6304dbcb4f71208305d9 /wallet/src/main/java/net/taler/wallet/Utils.kt
parent2e255f70a501043307e3f14e89755e979a0d5d4c (diff)
downloadtaler-android-43c30b4482b68a8b5073afec66b68b07b30be436.tar.gz
taler-android-43c30b4482b68a8b5073afec66b68b07b30be436.tar.bz2
taler-android-43c30b4482b68a8b5073afec66b68b07b30be436.zip
[wallet] Show errors as JSON
bug 0007606
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/Utils.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/Utils.kt25
1 files changed, 25 insertions, 0 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/Utils.kt b/wallet/src/main/java/net/taler/wallet/Utils.kt
index 435aa96..9dfe541 100644
--- a/wallet/src/main/java/net/taler/wallet/Utils.kt
+++ b/wallet/src/main/java/net/taler/wallet/Utils.kt
@@ -32,8 +32,13 @@ import android.widget.Toast.LENGTH_LONG
import androidx.annotation.RequiresApi
import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.content.getSystemService
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentActivity
+import kotlinx.serialization.encodeToString
+import kotlinx.serialization.json.Json
import net.taler.common.Amount
import net.taler.common.AmountParserException
+import net.taler.common.showError
import net.taler.common.startActivitySafe
import net.taler.wallet.backend.TalerErrorCode.WALLET_WITHDRAWAL_KYC_REQUIRED
import net.taler.wallet.backend.TalerErrorInfo
@@ -124,4 +129,24 @@ fun launchInAppBrowser(context: Context, url: String) {
val intent = builder.build().intent
intent.data = Uri.parse(url)
context.startActivitySafe(intent)
+}
+
+fun Fragment.showError(error: TalerErrorInfo) {
+ @Suppress("OPT_IN_USAGE")
+ val json = Json {
+ prettyPrint = true
+ prettyPrintIndent = " "
+ }
+ val message = json.encodeToString(error)
+ this@showError.showError(message)
+}
+
+fun FragmentActivity.showError(error: TalerErrorInfo) {
+ @Suppress("OPT_IN_USAGE")
+ val json = Json {
+ prettyPrint = true
+ prettyPrintIndent = " "
+ }
+ val message = json.encodeToString(error)
+ this@showError.showError(message)
} \ No newline at end of file