summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/Utils.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2023-01-17 12:19:39 -0300
committerTorsten Grote <t@grobox.de>2023-01-17 12:19:39 -0300
commit6622f7d7cf6a309af085a2fd1dea21c5ee6826d5 (patch)
treec1f12a6ecdf7cbea9d7ea8deb284cde7d55a192f /wallet/src/main/java/net/taler/wallet/Utils.kt
parent9049e305ac376d7e04b8190c9f65f6efe24562b1 (diff)
downloadtaler-android-6622f7d7cf6a309af085a2fd1dea21c5ee6826d5.tar.gz
taler-android-6622f7d7cf6a309af085a2fd1dea21c5ee6826d5.tar.bz2
taler-android-6622f7d7cf6a309af085a2fd1dea21c5ee6826d5.zip
[wallet] Clean up KYC handling a bit
#0007566
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/Utils.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/Utils.kt12
1 files changed, 12 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 7edc694..d5abca2 100644
--- a/wallet/src/main/java/net/taler/wallet/Utils.kt
+++ b/wallet/src/main/java/net/taler/wallet/Utils.kt
@@ -31,6 +31,9 @@ import androidx.annotation.RequiresApi
import androidx.core.content.getSystemService
import net.taler.common.Amount
import net.taler.common.AmountParserException
+import net.taler.wallet.backend.TalerErrorInfo
+import net.taler.wallet.transactions.Transaction
+import net.taler.wallet.withdraw.ERROR_KYC
const val CURRENCY_BTC = "BITCOINBTC"
@@ -96,3 +99,12 @@ fun getAmount(currency: String, text: String): Amount? {
null
}
}
+
+fun <T> Transaction.handleKyc(notRequired: () -> T, required: (TalerErrorInfo) -> T): T {
+ return error?.let { error ->
+ when (error.code) {
+ ERROR_KYC -> required(error)
+ else -> notRequired()
+ }
+ } ?: notRequired()
+}