From a99932be13e415d542658696f1281eac8a1c48f0 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Wed, 22 Apr 2020 16:51:25 -0300 Subject: [cashier] improve strings and error messages after input from Christian --- .../java/net/taler/cashier/withdraw/ErrorFragment.kt | 5 ++++- .../net/taler/cashier/withdraw/WithdrawManager.kt | 7 ++++--- cashier/src/main/res/layout/fragment_error.xml | 6 +++--- cashier/src/main/res/values/strings.xml | 20 +++++++++++--------- 4 files changed, 22 insertions(+), 16 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() diff --git a/cashier/src/main/res/layout/fragment_error.xml b/cashier/src/main/res/layout/fragment_error.xml index fe1db37..2eab923 100644 --- a/cashier/src/main/res/layout/fragment_error.xml +++ b/cashier/src/main/res/layout/fragment_error.xml @@ -40,7 +40,6 @@ android:layout_width="0dp" android:layout_height="0dp" android:layout_margin="32dp" - android:text="@string/transaction_error" android:textAlignment="center" android:textColor="@color/red" app:autoSizeMaxTextSize="42sp" @@ -49,7 +48,8 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/imageView" /> + app:layout_constraintTop_toBottomOf="@+id/imageView" + tools:text="@string/withdraw_error_timeout" />