From 53d99e46e6b34d4437f46266cb797a65c0736803 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Thu, 27 Aug 2020 16:42:03 -0300 Subject: [cashier] don't crash on unexpected network input --- cashier/src/main/java/net/taler/cashier/BalanceFragment.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'cashier/src/main/java/net/taler/cashier/BalanceFragment.kt') diff --git a/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt b/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt index d899e7d..cdfa142 100644 --- a/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt +++ b/cashier/src/main/java/net/taler/cashier/BalanceFragment.kt @@ -47,6 +47,7 @@ sealed class BalanceResult { class BalanceFragment : Fragment() { private val viewModel: MainViewModel by activityViewModels() + private val configManager by lazy { viewModel.configManager} private val withdrawManager by lazy { viewModel.withdrawManager } override fun onCreateView( @@ -78,7 +79,7 @@ class BalanceFragment : Fragment() { true } else false } - viewModel.currency.observe(viewLifecycleOwner, Observer { currency -> + configManager.currency.observe(viewLifecycleOwner, Observer { currency -> currencyView.text = currency }) confirmWithdrawalButton.setOnClickListener { onAmountConfirmed(getAmountFromView()) } @@ -87,7 +88,7 @@ class BalanceFragment : Fragment() { override fun onStart() { super.onStart() // update balance if there's a config - if (viewModel.hasConfig()) { + if (configManager.hasConfig()) { viewModel.getBalance() } } @@ -107,12 +108,12 @@ class BalanceFragment : Fragment() { override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) { R.id.action_reconfigure -> { - findNavController().navigate(viewModel.configDestination) + findNavController().navigate(configManager.configDestination) true } R.id.action_lock -> { viewModel.lock() - findNavController().navigate(viewModel.configDestination) + findNavController().navigate(configManager.configDestination) true } else -> super.onOptionsItemSelected(item) @@ -148,7 +149,7 @@ class BalanceFragment : Fragment() { private fun getAmountFromView(): Amount { val str = amountView.editText!!.text.toString() - val currency = viewModel.currency.value!! + val currency = configManager.currency.value!! if (str.isBlank()) return Amount.zero(currency) return Amount.fromString(currency, str) } -- cgit v1.2.3