gnunet-svn
[Top][All Lists]
Advanced

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

[taler-taler-android] 02/03: [wallet] Don't crash when there's no subjec


From: gnunet
Subject: [taler-taler-android] 02/03: [wallet] Don't crash when there's no subject in the payto:// URI for manual withdrawals
Date: Tue, 13 Sep 2022 19:50:28 +0200

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

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

commit ac64720eecda411934b75c75417f6d69a4a2f365
Author: Torsten Grote <t@grobox.de>
AuthorDate: Tue Sep 13 14:41:22 2022 -0300

    [wallet] Don't crash when there's no subject in the payto:// URI for manual 
withdrawals
---
 .../main/java/net/taler/wallet/withdraw/WithdrawManager.kt    | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

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 b597237..f21fd8c 100644
--- a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
@@ -70,8 +70,7 @@ sealed class WithdrawStatus {
         val subject: String,
         val amountRaw: Amount,
         override val transactionId: String?,
-    ) : ManualTransferRequired() {
-    }
+    ) : ManualTransferRequired()
 
     data class ManualTransferRequiredBitcoin(
         val exchangeBaseUrl: String,
@@ -287,10 +286,10 @@ fun createManualTransferRequired(
     uriStr: String,
     transactionId: String? = null,
 ): WithdrawStatus.ManualTransferRequired {
-    val uri = Uri.parse(uriStr)
+    val uri = Uri.parse(uriStr.replace("receiver-name=", "receiver_name="))
     if ("bitcoin".equals(uri.authority, true)) {
-        val msg = uri.getQueryParameter("message")
-        val reg = "\\b([A-Z0-9]{52})\\b".toRegex().find(msg.orEmpty())
+        val msg = uri.getQueryParameter("message").orEmpty()
+        val reg = "\\b([A-Z0-9]{52})\\b".toRegex().find(msg)
         val reserve = reg?.value ?: uri.getQueryParameter("subject")!!
         val segwitAddrs = Bech32.generateFakeSegwitAddress(reserve, 
uri.pathSegments.first())
         return WithdrawStatus.ManualTransferRequiredBitcoin(
@@ -307,7 +306,7 @@ fun createManualTransferRequired(
         exchangeBaseUrl = exchangeBaseUrl,
         uri = uri,
         iban = uri.lastPathSegment!!,
-        subject = uri.getQueryParameter("message")!!,
+        subject = uri.getQueryParameter("subject") ?: "Error: No subject in 
URI",
         amountRaw = amount,
         transactionId = transactionId,
     )

-- 
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]