diff options
Diffstat (limited to 'cashier/src/main/java/net')
-rw-r--r-- | cashier/src/main/java/net/taler/cashier/withdraw/ErrorFragment.kt | 5 | ||||
-rw-r--r-- | cashier/src/main/java/net/taler/cashier/withdraw/WithdrawManager.kt | 7 |
2 files changed, 8 insertions, 4 deletions
diff --git a/cashier/src/main/java/net/taler/cashier/withdraw/ErrorFragment.kt b/cashier/src/main/java/net/taler/cashier/withdraw/ErrorFragment.kt index ceffcec..ea33b0d 100644 --- a/cashier/src/main/java/net/taler/cashier/withdraw/ErrorFragment.kt +++ b/cashier/src/main/java/net/taler/cashier/withdraw/ErrorFragment.kt @@ -42,11 +42,14 @@ class ErrorFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { withdrawManager.withdrawStatus.observe(viewLifecycleOwner, Observer { status -> + if (status == null) return@Observer if (status is WithdrawStatus.Aborted) { textView.setText(R.string.transaction_aborted) + } else if (status is WithdrawStatus.Error) { + textView.text = status.msg } + withdrawManager.completeTransaction() }) - withdrawManager.completeTransaction() backButton.setOnClickListener { findNavController().popBackStack() } diff --git a/cashier/src/main/java/net/taler/cashier/withdraw/WithdrawManager.kt b/cashier/src/main/java/net/taler/cashier/withdraw/WithdrawManager.kt index edefa5a..32e0802 100644 --- a/cashier/src/main/java/net/taler/cashier/withdraw/WithdrawManager.kt +++ b/cashier/src/main/java/net/taler/cashier/withdraw/WithdrawManager.kt @@ -125,7 +125,8 @@ class WithdrawManager( override fun onFinish() { abort() - mWithdrawStatus.postValue(WithdrawStatus.Error) + val str = app.getString(R.string.withdraw_error_timeout) + mWithdrawStatus.postValue(WithdrawStatus.Error(str)) cancel() } } @@ -196,7 +197,7 @@ class WithdrawManager( } is Error -> { Log.e(TAG, "Error confirming withdrawal. Status code: ${result.statusCode}") - mWithdrawStatus.postValue(WithdrawStatus.Error) + mWithdrawStatus.postValue(WithdrawStatus.Error(result.msg)) } } } @@ -220,7 +221,7 @@ sealed class WithdrawResult { } sealed class WithdrawStatus { - object Error : WithdrawStatus() + class Error(val msg: String) : WithdrawStatus() object Aborted : WithdrawStatus() class SelectionDone(val withdrawalId: String) : WithdrawStatus() object Confirming : WithdrawStatus() |