diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-04-28 23:03:38 -0600 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2023-06-28 09:01:10 -0300 |
commit | 43c30b4482b68a8b5073afec66b68b07b30be436 (patch) | |
tree | 8a7ec1d82dcf6c42d84e6304dbcb4f71208305d9 /wallet/src/main/java/net/taler/wallet/Utils.kt | |
parent | 2e255f70a501043307e3f14e89755e979a0d5d4c (diff) | |
download | taler-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.kt | 25 |
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 |