summaryrefslogtreecommitdiff
path: root/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-03-24 09:08:00 -0300
committerTorsten Grote <t@grobox.de>2020-03-24 09:08:00 -0300
commit864160280872fdb400c2e0e61aaaa1b858fba3f8 (patch)
tree5d3f8b24d261a593364d9bcb70033b4814fd954a /cashier/src/main/java/net/taler/cashier/BalanceFragment.kt
parenta690087d82e8b0ee774542d9956698a349408824 (diff)
downloadtaler-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.kt12
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)