diff options
author | Torsten Grote <t@grobox.de> | 2020-04-23 11:52:04 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-04-23 11:52:04 -0300 |
commit | ffc78da700c5665786d2838752d8465e1b07c72f (patch) | |
tree | 9c02a258253392644cdb47b8caffc1652b3f6464 /cashier/src/main/java/net/taler/cashier/withdraw/TransactionFragment.kt | |
parent | a99932be13e415d542658696f1281eac8a1c48f0 (diff) | |
download | taler-android-ffc78da700c5665786d2838752d8465e1b07c72f.tar.gz taler-android-ffc78da700c5665786d2838752d8465e1b07c72f.tar.bz2 taler-android-ffc78da700c5665786d2838752d8465e1b07c72f.zip |
[cashier] add offline detection to all failing HTTP requests
and show a better error message in these cases
Diffstat (limited to 'cashier/src/main/java/net/taler/cashier/withdraw/TransactionFragment.kt')
-rw-r--r-- | cashier/src/main/java/net/taler/cashier/withdraw/TransactionFragment.kt | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/cashier/src/main/java/net/taler/cashier/withdraw/TransactionFragment.kt b/cashier/src/main/java/net/taler/cashier/withdraw/TransactionFragment.kt index e433540..0726a77 100644 --- a/cashier/src/main/java/net/taler/cashier/withdraw/TransactionFragment.kt +++ b/cashier/src/main/java/net/taler/cashier/withdraw/TransactionFragment.kt @@ -36,6 +36,7 @@ import net.taler.cashier.withdraw.WithdrawResult.Error import net.taler.cashier.withdraw.WithdrawResult.InsufficientBalance import net.taler.cashier.withdraw.WithdrawResult.Success import net.taler.common.NfcManager +import net.taler.common.exhaustive import net.taler.common.fadeIn import net.taler.common.fadeOut @@ -101,16 +102,9 @@ class TransactionFragment : Fragment() { .start() } when (result) { - is InsufficientBalance -> { - val c = getColor(requireContext(), R.color.design_default_color_error) - introView.setTextColor(c) - introView.text = getString(R.string.withdraw_error_insufficient_balance) - } - is Error -> { - val c = getColor(requireContext(), R.color.design_default_color_error) - introView.setTextColor(c) - introView.text = result.msg - } + is InsufficientBalance -> setErrorMsg(getString(R.string.withdraw_error_insufficient_balance)) + is WithdrawResult.Offline -> setErrorMsg(getString(R.string.withdraw_error_offline)) + is Error -> setErrorMsg(result.msg) is Success -> { // start NFC nfcManager.setTagString(result.talerUri) @@ -129,7 +123,14 @@ class TransactionFragment : Fragment() { .setDuration(750) .start() } - } + null -> return + }.exhaustive + } + + private fun setErrorMsg(str: String) { + val c = getColor(requireContext(), R.color.design_default_color_error) + introView.setTextColor(c) + introView.text = str } private fun onWithdrawStatusChanged(status: WithdrawStatus?): Any = when (status) { |