From d56c5eaa5ea01225259486dab48b3c24e341b74c Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Thu, 3 Sep 2020 09:23:11 -0300 Subject: Don't crash on empty manual withdrawal amount --- .../net/taler/wallet/transactions/Transactions.kt | 2 -- .../taler/wallet/withdraw/ManualWithdrawFragment.kt | 19 +++++++++++++------ 2 files changed, 13 insertions(+), 8 deletions(-) (limited to 'wallet/src/main/java') diff --git a/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt b/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt index db3f283..0817c36 100644 --- a/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt +++ b/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt @@ -190,9 +190,7 @@ class TransactionRefund( */ val amountInvalid: Amount? = null, override val error: TalerErrorInfo? = null, - @SerialName("amountEffective") // TODO remove when fixed in wallet-core override val amountRaw: Amount, - @SerialName("amountRaw") // TODO remove when fixed in wallet-core override val amountEffective: Amount ) : Transaction() { override val icon = R.drawable.transaction_refund diff --git a/wallet/src/main/java/net/taler/wallet/withdraw/ManualWithdrawFragment.kt b/wallet/src/main/java/net/taler/wallet/withdraw/ManualWithdrawFragment.kt index fbee6ae..af76e9b 100644 --- a/wallet/src/main/java/net/taler/wallet/withdraw/ManualWithdrawFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/withdraw/ManualWithdrawFragment.kt @@ -55,13 +55,20 @@ class ManualWithdrawFragment : Fragment() { }.joinToString(separator = "\n", prefix = "• ") paymentOptionsLabel.text = getString(R.string.withdraw_manual_payment_options, exchangeItem.name, paymentOptions) - checkFeesButton.setOnClickListener { - val value = amountView.text.toString().toLong() - val amount = Amount(exchangeItem.currency, value, 0) - amountView.hideKeyboard() - Toast.makeText(view.context, "Not implemented: $amount", LENGTH_SHORT).show() - withdrawManager.getWithdrawalDetails(exchangeItem.exchangeBaseUrl, amount) + checkFeesButton.setOnClickListener { onCheckFees() } + } + + private fun onCheckFees() { + if (amountView.text?.isEmpty() ?: true) { + amountLayout.setError(getString(R.string.withdraw_amount_error)) + return } + amountLayout.setError(null) + val value = amountView.text.toString().toLong() + val amount = Amount(exchangeItem.currency, value, 0) + amountView.hideKeyboard() + Toast.makeText(requireContext(), "Not implemented: $amount", LENGTH_SHORT).show() + withdrawManager.getWithdrawalDetails(exchangeItem.exchangeBaseUrl, amount) } } -- cgit v1.2.3