gnunet-svn
[Top][All Lists]
Advanced

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

[taler-taler-android] branch master updated (e90570d -> b9e869c)


From: gnunet
Subject: [taler-taler-android] branch master updated (e90570d -> b9e869c)
Date: Thu, 13 Apr 2023 19:29:32 +0200

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 e90570d  [wallet] Render dummy transactions whenever we can't parse a 
transaction
     new 513c2ce  [wallet] Do some minimal BIC validation for bank deposits
     new b9e869c  [wallet] version 0.9.3+p2

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:
 wallet/build.gradle                                |  4 ++--
 .../taler/wallet/deposit/MakeDepositComposable.kt  | 26 +++++++++++++++++++++-
 wallet/src/main/res/values/strings.xml             |  1 +
 3 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/wallet/build.gradle b/wallet/build.gradle
index e429385..1652f4f 100644
--- a/wallet/build.gradle
+++ b/wallet/build.gradle
@@ -42,8 +42,8 @@ android {
         applicationId "net.taler.wallet"
         minSdkVersion 24
         targetSdkVersion 32
-        versionCode 27
-        versionName "0.9.3+p1"
+        versionCode 28
+        versionName "0.9.3+p2"
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     }
     buildTypes {
diff --git 
a/wallet/src/main/java/net/taler/wallet/deposit/MakeDepositComposable.kt 
b/wallet/src/main/java/net/taler/wallet/deposit/MakeDepositComposable.kt
index 176ff97..3c93ed7 100644
--- a/wallet/src/main/java/net/taler/wallet/deposit/MakeDepositComposable.kt
+++ b/wallet/src/main/java/net/taler/wallet/deposit/MakeDepositComposable.kt
@@ -68,6 +68,7 @@ fun MakeDepositComposable(
         var name by rememberSaveable { mutableStateOf(presetName ?: "") }
         var iban by rememberSaveable { mutableStateOf(presetIban ?: "") }
         var bic by rememberSaveable { mutableStateOf("") }
+        var bicInvalid by rememberSaveable { mutableStateOf(false) }
         val focusRequester = remember { FocusRequester() }
         OutlinedTextField(
             modifier = Modifier
@@ -125,8 +126,19 @@ fun MakeDepositComposable(
             value = bic,
             enabled = !state.showFees,
             onValueChange = { input ->
+                bicInvalid = false
                 bic = input
             },
+            isError = bicInvalid,
+            supportingText = {
+                if (bicInvalid) {
+                    Text(
+                        modifier = Modifier.fillMaxWidth(),
+                        text = stringResource(R.string.send_deposit_bic_error),
+                        color = MaterialTheme.colorScheme.error
+                    )
+                }
+            },
             label = {
                 Text(
                     text = stringResource(R.string.send_deposit_bic),
@@ -197,7 +209,11 @@ fun MakeDepositComposable(
             enabled = iban.isNotBlank(),
             onClick = {
                 focusManager.clearFocus()
-                onMakeDeposit(amount, name, iban, bic)
+                if (isValidBic(bic)) {
+                    onMakeDeposit(amount, name, iban, bic)
+                } else {
+                    bicInvalid = true
+                }
             },
         ) {
             Text(
@@ -210,6 +226,14 @@ fun MakeDepositComposable(
     }
 }
 
+private val bicRegex = Regex("[a-zA-Z\\d]{8,11}")
+
+/**
+ * performs some minimal verification, nothing perfect.
+ * Allows for empty string.
+ */
+private fun isValidBic(bic: String): Boolean = bic.isEmpty() || 
bicRegex.matches(bic)
+
 @Preview
 @Composable
 fun PreviewMakeDepositComposable() {
diff --git a/wallet/src/main/res/values/strings.xml 
b/wallet/src/main/res/values/strings.xml
index 734a233..4225a6b 100644
--- a/wallet/src/main/res/values/strings.xml
+++ b/wallet/src/main/res/values/strings.xml
@@ -139,6 +139,7 @@ GNU Taler is immune against many types of fraud, such as 
phishing of credit card
     <string name="send_deposit_title">Deposit to a bank account</string>
     <string name="send_deposit_iban">IBAN</string>
     <string name="send_deposit_iban_error">IBAN is invalid</string>
+    <string name="send_deposit_bic_error">BIC is invalid</string>
     <string name="send_deposit_bic">BIC/SWIFT</string>
     <string name="send_deposit_name">Account holder</string>
     <string name="send_deposit_bitcoin_address">Bitcoin address</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]