gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-android] branch master updated (5d0b4a4 -> 1a93d08)


From: gnunet
Subject: [taler-taler-android] branch master updated (5d0b4a4 -> 1a93d08)
Date: Thu, 29 Feb 2024 15:26:06 +0100

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a change to branch master
in repository taler-android.

    from 5d0b4a4      [wallet] Fix background thread access to loadBalances
     new 53163f9  [wallet] Add proper rendering for x-taler-bank URIs
     new 1a93d08      [wallet] Remove bank URL from x-taler-bank URI, add 
receiver name to IBAN

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../net/taler/wallet/withdraw/WithdrawManager.kt   | 38 +++++++++++++++++-----
 .../taler/wallet/withdraw/manual/ScreenTransfer.kt |  7 ++++
 .../taler/wallet/withdraw/manual/TransferIBAN.kt   |  3 ++
 .../manual/{TransferIBAN.kt => TransferTaler.kt}   | 11 ++++---
 wallet/src/main/res/values/strings.xml             |  3 ++
 5 files changed, 50 insertions(+), 12 deletions(-)
 copy wallet/src/main/java/net/taler/wallet/withdraw/manual/{TransferIBAN.kt => 
TransferTaler.kt} (92%)

diff --git a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt 
b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
index 231091f..4c9479b 100644
--- a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
@@ -91,11 +91,21 @@ sealed class TransferData {
 
     val currency get() = withdrawalAccount.transferAmount?.currency
 
+    data class Taler(
+        override val subject: String,
+        override val amountRaw: Amount,
+        override val amountEffective: Amount,
+        override val withdrawalAccount: WithdrawalExchangeAccountDetails,
+        val receiverName: String? = null,
+        val account: String,
+    ): TransferData()
+
     data class IBAN(
         override val subject: String,
         override val amountRaw: Amount,
         override val amountEffective: Amount,
         override val withdrawalAccount: WithdrawalExchangeAccountDetails,
+        val receiverName: String? = null,
         val iban: String,
     ): TransferData()
 
@@ -353,7 +363,7 @@ fun createManualTransferRequired(
     transactionAmountRaw = amountRaw,
     transactionAmountEffective = amountEffective,
     exchangeBaseUrl = exchangeBaseUrl,
-    withdrawalTransfers = withdrawalAccountList.map {
+    withdrawalTransfers = withdrawalAccountList.mapNotNull {
         val uri = Uri.parse(it.paytoUri.replace("receiver-name=", 
"receiver_name="))
         if ("bitcoin".equals(uri.authority, true)) {
             val msg = uri.getQueryParameter("message").orEmpty()
@@ -368,13 +378,25 @@ fun createManualTransferRequired(
                 amountEffective = amountEffective,
                 withdrawalAccount = it.copy(paytoUri = uri.toString())
             )
-        } else TransferData.IBAN(
-            iban = uri.lastPathSegment!!,
-            subject = uri.getQueryParameter("message") ?: "Error: No message 
in URI",
-            amountRaw = amountRaw,
-            amountEffective = amountEffective,
-            withdrawalAccount = it.copy(paytoUri = uri.toString())
-        )
+        } else if (uri.authority.equals("x-taler-bank", true)) {
+            TransferData.Taler(
+                account = uri.lastPathSegment!!,
+                receiverName = uri.getQueryParameter("receiver_name"),
+                subject = uri.getQueryParameter("message") ?: "Error: No 
message in URI",
+                amountRaw = amountRaw,
+                amountEffective = amountEffective,
+                withdrawalAccount = it.copy(paytoUri = uri.toString()),
+            )
+        } else if (uri.authority.equals("iban", true)) {
+            TransferData.IBAN(
+                iban = uri.lastPathSegment!!,
+                receiverName = uri.getQueryParameter("receiver_name"),
+                subject = uri.getQueryParameter("message") ?: "Error: No 
message in URI",
+                amountRaw = amountRaw,
+                amountEffective = amountEffective,
+                withdrawalAccount = it.copy(paytoUri = uri.toString()),
+            )
+        } else null
     },
 )
 
diff --git 
a/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenTransfer.kt 
b/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenTransfer.kt
index 19cfbdb..b9fd9dd 100644
--- a/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenTransfer.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenTransfer.kt
@@ -86,6 +86,13 @@ fun ScreenTransfer(
             horizontalAlignment = Alignment.CenterHorizontally,
         ) {
             when (val transfer = selectedTransfer) {
+                is TransferData.Taler -> TransferTaler(
+                    transfer = transfer,
+                    exchangeBaseUrl = status.exchangeBaseUrl,
+                    transactionAmountRaw = status.transactionAmountRaw,
+                    transactionAmountEffective = 
status.transactionAmountEffective,
+                )
+
                 is TransferData.IBAN -> TransferIBAN(
                     transfer = transfer,
                     exchangeBaseUrl = status.exchangeBaseUrl,
diff --git 
a/wallet/src/main/java/net/taler/wallet/withdraw/manual/TransferIBAN.kt 
b/wallet/src/main/java/net/taler/wallet/withdraw/manual/TransferIBAN.kt
index a9e5f59..1ebee4f 100644
--- a/wallet/src/main/java/net/taler/wallet/withdraw/manual/TransferIBAN.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/manual/TransferIBAN.kt
@@ -67,6 +67,9 @@ fun TransferIBAN(
                 .padding(all = 16.dp)
         )
 
+        transfer.receiverName?.let {
+            DetailRow(stringResource(R.string.withdraw_manual_ready_receiver), 
it)
+        }
         DetailRow(stringResource(R.string.withdraw_manual_ready_iban), 
transfer.iban)
         DetailRow(stringResource(R.string.withdraw_manual_ready_subject), 
transfer.subject)
 
diff --git 
a/wallet/src/main/java/net/taler/wallet/withdraw/manual/TransferIBAN.kt 
b/wallet/src/main/java/net/taler/wallet/withdraw/manual/TransferTaler.kt
similarity index 92%
copy from wallet/src/main/java/net/taler/wallet/withdraw/manual/TransferIBAN.kt
copy to wallet/src/main/java/net/taler/wallet/withdraw/manual/TransferTaler.kt
index a9e5f59..cc6597e 100644
--- a/wallet/src/main/java/net/taler/wallet/withdraw/manual/TransferIBAN.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/manual/TransferTaler.kt
@@ -1,6 +1,6 @@
 /*
  * This file is part of GNU Taler
- * (C) 2023 Taler Systems S.A.
+ * (C) 2024 Taler Systems S.A.
  *
  * GNU Taler is free software; you can redistribute it and/or modify it under 
the
  * terms of the GNU General Public License as published by the Free Software
@@ -36,8 +36,8 @@ import net.taler.wallet.transactions.TransactionInfoComposable
 import net.taler.wallet.withdraw.TransferData
 
 @Composable
-fun TransferIBAN(
-    transfer: TransferData.IBAN,
+fun TransferTaler(
+    transfer: TransferData.Taler,
     exchangeBaseUrl: String,
     transactionAmountRaw: Amount,
     transactionAmountEffective: Amount,
@@ -67,7 +67,10 @@ fun TransferIBAN(
                 .padding(all = 16.dp)
         )
 
-        DetailRow(stringResource(R.string.withdraw_manual_ready_iban), 
transfer.iban)
+        transfer.receiverName?.let {
+            DetailRow(stringResource(R.string.withdraw_manual_ready_receiver), 
it)
+        }
+        DetailRow(stringResource(R.string.withdraw_manual_ready_account), 
transfer.account)
         DetailRow(stringResource(R.string.withdraw_manual_ready_subject), 
transfer.subject)
 
         TransactionInfoComposable(
diff --git a/wallet/src/main/res/values/strings.xml 
b/wallet/src/main/res/values/strings.xml
index 15461c7..4f580af 100644
--- a/wallet/src/main/res/values/strings.xml
+++ b/wallet/src/main/res/values/strings.xml
@@ -195,6 +195,7 @@ GNU Taler is immune against many types of fraud, such as 
phishing of credit card
     <string name="withdraw_restrict_age">Restrict Usage to Age</string>
     <string name="withdraw_restrict_age_unrestricted">Unrestricted</string>
     <string name="withdraw_exchange">Exchange</string>
+    <string name="withdraw_bank">Bank</string>
     <string name="withdraw_button_confirm">Confirm Withdraw</string>
     <string name="withdraw_button_confirm_bank">Confirm with bank</string>
     <string name="withdraw_button_tos">Review Terms</string>
@@ -210,6 +211,8 @@ GNU Taler is immune against many types of fraud, such as 
phishing of credit card
     <string name="withdraw_manual_bitcoin_title">Bitcoin exchange ready for 
withdrawal</string>
     <string name="withdraw_manual_bitcoin_intro">Now make a split transaction 
with the following three outputs.</string>
     <string name="withdraw_manual_ready_iban">IBAN</string>
+    <string name="withdraw_manual_ready_account">Account</string>
+    <string name="withdraw_manual_ready_receiver">Receiver name</string>
     <string name="withdraw_manual_ready_subject">Subject</string>
     <string name="withdraw_manual_ready_bank_button">Open in banking 
app</string>
     <string name="withdraw_manual_ready_cancel">Cancel withdrawal</string>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]