summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/MainActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/MainActivity.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/MainActivity.kt25
1 files changed, 16 insertions, 9 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/MainActivity.kt b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
index c7c31ca..838ed2d 100644
--- a/wallet/src/main/java/net/taler/wallet/MainActivity.kt
+++ b/wallet/src/main/java/net/taler/wallet/MainActivity.kt
@@ -163,15 +163,7 @@ class MainActivity : AppCompatActivity(), OnNavigationItemSelectedListener,
}
url.toLowerCase(ROOT).startsWith("taler://refund/") -> {
model.showProgressBar.value = true
- model.refundManager.refund(url).observe(this, Observer { status ->
- model.showProgressBar.value = false
- val res = when (status) {
- is RefundStatus.Error -> R.string.refund_error
- // TODO once wallet-core exposes currency, navigate to its transaction list
- is RefundStatus.Success -> R.string.refund_success
- }
- Snackbar.make(nav_view, res, LENGTH_LONG).show()
- })
+ model.refundManager.refund(url).observe(this, Observer(::onRefundResponse))
}
else -> {
Snackbar.make(
@@ -183,6 +175,21 @@ class MainActivity : AppCompatActivity(), OnNavigationItemSelectedListener,
}
}
+ private fun onRefundResponse(status: RefundStatus) {
+ model.showProgressBar.value = false
+ when (status) {
+ is RefundStatus.Error -> {
+ Snackbar.make(nav_view, R.string.refund_error, LENGTH_LONG).show()
+ }
+ is RefundStatus.Success -> {
+ val amount = status.response.amountRefundGranted
+ model.showTransactions(amount.currency)
+ val str = getString(R.string.refund_success, amount.amountStr)
+ Snackbar.make(nav_view, str, LENGTH_LONG).show()
+ }
+ }
+ }
+
private val triggerPaymentReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (nav.currentDestination?.id == R.id.promptPayment) return