diff options
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/MainActivity.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/MainActivity.kt | 25 |
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 |