aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cashier/src/main/java/net/taler/cashier/withdraw/ErrorFragment.kt5
-rw-r--r--cashier/src/main/java/net/taler/cashier/withdraw/WithdrawManager.kt7
-rw-r--r--cashier/src/main/res/layout/fragment_error.xml6
-rw-r--r--cashier/src/main/res/values/strings.xml20
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" />
<Button
android:id="@+id/backButton"
@@ -61,4 +61,4 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
-</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/cashier/src/main/res/values/strings.xml b/cashier/src/main/res/values/strings.xml
index 43e3573..d0ac3ae 100644
--- a/cashier/src/main/res/values/strings.xml
+++ b/cashier/src/main/res/values/strings.xml
@@ -5,35 +5,37 @@
<string name="config_username">Username</string>
<string name="config_password">Password</string>
<string name="config_button_save">Save</string>
- <string name="config_bank_url_error">The address in invalid.</string>
- <string name="config_username_error">Please enter your username</string>
+ <string name="config_bank_url_error">The address is invalid.</string>
+ <string name="config_username_error">Please enter your username!</string>
<string name="config_error">Error retrieving configuration%s</string>
- <string name="config_error_auth">Invalid username or password</string>
+ <string name="config_error_auth">Invalid username or password!</string>
<string name="config_demo_hint" tools:ignore="StringFormatInvalid">For testing, you can <![CDATA[<a href="%s">create a test account at the demo bank</a>]]>.</string>
<string name="balance_current_label">Current balance</string>
<string name="balance_error">ERROR%s</string>
- <string name="balance_offline">Offline. Please connect to the Internet</string>
+ <string name="balance_offline">Offline. Please connect to the Internet.</string>
<string name="action_reconfigure">Reconfigure</string>
<string name="action_lock">Lock</string>
<string name="withdraw_input_amount">Amount</string>
<string name="withdraw_into">How much e-cash should be withdrawn?</string>
- <string name="withdraw_error_zero">Enter positive amount</string>
+ <string name="withdraw_error_zero">Enter positive amount!</string>
<string name="withdraw_error_insufficient_balance">Insufficient balance</string>
<string name="withdraw_error_fetch">Error communicating with bank%s</string>
+ <string name="withdraw_error_timeout">No wallet tried to withdraw. Please try again.</string>
<string name="withdraw_button_confirm">Withdraw</string>
- <string name="transaction_intro">Scan code\nwith the Taler wallet app\nto get</string>
- <string name="transaction_intro_nfc">Scan code or use NFC\nwith the Taler wallet app\nto get</string>
+ <!-- "to get" refers to the amount that will be withdrawn, e.g. to get 12 EUR -->
+ <string name="transaction_intro">Scan code with the Taler wallet app to get</string>
+ <!-- "to get" refers to the amount that will be withdrawn, e.g. to get 12 EUR -->
+ <string name="transaction_intro_nfc">Scan code or use NFC with the Taler wallet app to get</string>
<string name="transaction_intro_scanned">Please confirm the transaction!</string>
<string name="transaction_confirm">Confirm</string>
<string name="transaction_abort">Abort</string>
- <string name="transaction_error">Transaction error</string>
<string name="transaction_aborted">Transaction aborted</string>
<string name="transaction_button_back">Go back</string>
<string name="transaction_last_success">Last Transaction: %s withdrawn</string>
<string name="transaction_last_aborted">Last Transaction: Aborted</string>
- <string name="transaction_last_error">Last Transaction: Error</string>
+ <string name="transaction_last_error">Last Transaction: Failed</string>
</resources>