diff options
author | Torsten Grote <t@grobox.de> | 2020-03-24 09:08:00 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-03-24 09:08:00 -0300 |
commit | 864160280872fdb400c2e0e61aaaa1b858fba3f8 (patch) | |
tree | 5d3f8b24d261a593364d9bcb70033b4814fd954a /cashier/src/main/java/net/taler/cashier/BalanceFragment.kt | |
parent | a690087d82e8b0ee774542d9956698a349408824 (diff) | |
download | taler-android-864160280872fdb400c2e0e61aaaa1b858fba3f8.tar.gz taler-android-864160280872fdb400c2e0e61aaaa1b858fba3f8.tar.bz2 taler-android-864160280872fdb400c2e0e61aaaa1b858fba3f8.zip |
Allow fractional withdrawals with cashier app
Diffstat (limited to 'cashier/src/main/java/net/taler/cashier/BalanceFragment.kt')
-rw-r--r-- | cashier/src/main/java/net/taler/cashier/BalanceFragment.kt | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt b/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt index fffb21b..c4802ee 100644 --- a/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt +++ b/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt @@ -33,6 +33,7 @@ import kotlinx.android.synthetic.main.fragment_balance.* import net.taler.cashier.BalanceFragmentDirections.Companion.actionBalanceFragmentToTransactionFragment import net.taler.cashier.withdraw.LastTransaction import net.taler.cashier.withdraw.WithdrawStatus +import net.taler.common.Amount import net.taler.common.SignedAmount import net.taler.common.fadeIn import net.taler.common.fadeOut @@ -142,14 +143,15 @@ class BalanceFragment : Fragment() { amountView.error = null } - private fun getAmountFromView(): Int { + private fun getAmountFromView(): Amount { val str = amountView.editText!!.text.toString() - if (str.isBlank()) return 0 - return Integer.parseInt(str) + val currency = viewModel.currency.value!! + if (str.isBlank()) return Amount.zero(currency) + return Amount.fromString(currency, str) } - private fun onAmountConfirmed(amount: Int) { - if (amount <= 0) { + private fun onAmountConfirmed(amount: Amount) { + if (amount.isZero()) { amountView.error = getString(R.string.withdraw_error_zero) } else if (!withdrawManager.hasSufficientBalance(amount)) { amountView.error = getString(R.string.withdraw_error_insufficient_balance) |