gnunet-svn
[Top][All Lists]
Advanced

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

[taler-taler-android] 02/02: [pos] Don't crash when adding custom produc


From: gnunet
Subject: [taler-taler-android] 02/02: [pos] Don't crash when adding custom product with huge invalid amount
Date: Tue, 11 Apr 2023 22:33: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 7cd48e38a0d502fb0748c9b1e04738be43c8c1cf
Author: Torsten Grote <t@grobox.de>
AuthorDate: Tue Apr 11 17:33:16 2023 -0300

    [pos] Don't crash when adding custom product with huge invalid amount
---
 .../net/taler/merchantpos/order/CustomDialogFragment.kt     | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git 
a/merchant-terminal/src/main/java/net/taler/merchantpos/order/CustomDialogFragment.kt
 
b/merchant-terminal/src/main/java/net/taler/merchantpos/order/CustomDialogFragment.kt
index bf14aae..45aaf06 100644
--- 
a/merchant-terminal/src/main/java/net/taler/merchantpos/order/CustomDialogFragment.kt
+++ 
b/merchant-terminal/src/main/java/net/taler/merchantpos/order/CustomDialogFragment.kt
@@ -20,10 +20,14 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.widget.Toast
+import android.widget.Toast.LENGTH_LONG
 import androidx.fragment.app.DialogFragment
 import androidx.fragment.app.activityViewModels
 import net.taler.common.Amount
+import net.taler.common.AmountParserException
 import net.taler.merchantpos.MainViewModel
+import net.taler.merchantpos.R
 import net.taler.merchantpos.config.ConfigProduct
 import net.taler.merchantpos.databinding.FragmentCustomDialogBinding
 
@@ -52,9 +56,16 @@ class CustomDialogFragment : DialogFragment() {
         ui.addButton.setOnClickListener {
             val currentOrderId =
                 viewModel.orderManager.currentOrderId.value ?: 
return@setOnClickListener
+            val amount = try {
+                Amount.fromString(currency, 
ui.amountLayout.editText!!.text.toString())
+            } catch (e: AmountParserException) {
+                Toast.makeText(requireContext(), 
R.string.refund_error_invalid_amount, LENGTH_LONG)
+                    .show()
+                return@setOnClickListener
+            }
             val product = ConfigProduct(
                 description = ui.productNameLayout.editText!!.text.toString(),
-                price = Amount.fromString(currency, 
ui.amountLayout.editText!!.text.toString()),
+                price = amount,
                 categories = listOf(Int.MIN_VALUE),
             )
             viewModel.orderManager.addProduct(currentOrderId, product)

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