summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/Utils.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-08-05 14:31:10 -0300
committerTorsten Grote <t@grobox.de>2020-08-05 14:31:10 -0300
commitb1acd03f70a33f069a321c6755943421330d2d8d (patch)
tree44a4775ab769a8686e16338c1a7eeefe704d8e14 /wallet/src/main/java/net/taler/wallet/Utils.kt
parent35f7ed512ed7445362d6caee1bf60441f4ce979e (diff)
downloadtaler-android-b1acd03f70a33f069a321c6755943421330d2d8d.tar.gz
taler-android-b1acd03f70a33f069a321c6755943421330d2d8d.tar.bz2
taler-android-b1acd03f70a33f069a321c6755943421330d2d8d.zip
[wallet] show more user-friendly error messages for operations
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/Utils.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/Utils.kt17
1 files changed, 17 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 e299245..ea01552 100644
--- a/wallet/src/main/java/net/taler/wallet/Utils.kt
+++ b/wallet/src/main/java/net/taler/wallet/Utils.kt
@@ -30,6 +30,7 @@ import android.widget.Toast
import android.widget.Toast.LENGTH_LONG
import androidx.annotation.RequiresApi
import com.google.zxing.integration.android.IntentIntegrator
+import org.json.JSONObject
fun scanQrCode(activity: Activity) {
IntentIntegrator(activity).apply {
@@ -90,6 +91,22 @@ private fun connectToWifiDeprecated(context: Context, ssid: String) {
}
}
+fun getErrorString(json: JSONObject): String {
+ return StringBuilder().apply {
+ append(json.getString("talerErrorCode"))
+ append(" ")
+ append(json.getString("message"))
+ json.optJSONObject("details")?.let { details ->
+ details.optJSONObject("errorResponse")?.let { errorResponse ->
+ append("\n\n")
+ append(errorResponse.optString("code"))
+ append(" ")
+ append(errorResponse.optString("hint"))
+ }
+ }
+ }.toString()
+}
+
fun cleanExchange(exchange: String) = exchange.let {
if (it.startsWith("https://")) it.substring(8) else it
}.trimEnd('/')