[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-taler-android] branch master updated: [wallet] Improve selecting
From: |
gnunet |
Subject: |
[taler-taler-android] branch master updated: [wallet] Improve selecting transaction after bank withdrawal |
Date: |
Wed, 22 Feb 2023 13:01:46 +0100 |
This is an automated email from the git hooks/post-receive script.
torsten-grote pushed a commit to branch master
in repository taler-android.
The following commit(s) were added to refs/heads/master by this push:
new 79d52ac [wallet] Improve selecting transaction after bank withdrawal
79d52ac is described below
commit 79d52ac4960e99d7b67f6435b03b010ed536e161
Author: Torsten Grote <t@grobox.de>
AuthorDate: Wed Feb 22 09:01:31 2023 -0300
[wallet] Improve selecting transaction after bank withdrawal
---
.../wallet/transactions/TransactionManager.kt | 23 +++++++++++++++-------
.../wallet/withdraw/PromptWithdrawFragment.kt | 5 +----
2 files changed, 17 insertions(+), 11 deletions(-)
diff --git
a/wallet/src/main/java/net/taler/wallet/transactions/TransactionManager.kt
b/wallet/src/main/java/net/taler/wallet/transactions/TransactionManager.kt
index a65d9a6..2da9ab4 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionManager.kt
@@ -90,14 +90,23 @@ class TransactionManager(
}
/**
- * Returns true if given [transactionId] was found for given [currency]
and selected.
+ * Returns true if given [transactionId] was found and selected, false
otherwise.
*/
- fun selectTransaction(currency: String, transactionId: String): Boolean {
- val t = allTransactions[currency]?.find {
- it.transactionId == transactionId
- } ?: return false
- selectedTransaction = t
- return true
+ suspend fun selectTransaction(transactionId: String): Boolean {
+ var transaction: Transaction? = null
+ api.request("getTransactionById", Transaction.serializer()) {
+ put("transactionId", transactionId)
+ }.onError {
+ Log.e(TAG, "Error getting transaction $it")
+ }.onSuccess { result ->
+ transaction = result
+ }
+ return if (transaction != null) {
+ selectedTransaction = transaction
+ true
+ } else {
+ false
+ }
}
fun deleteTransaction(transactionId: String) = scope.launch {
diff --git
a/wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt
b/wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt
index abe9562..fd67e71 100644
--- a/wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/PromptWithdrawFragment.kt
@@ -92,11 +92,8 @@ class PromptWithdrawFragment : Fragment() {
model.showProgressBar.value = false
withdrawManager.withdrawStatus.value = null
lifecycleScope.launch {
- // FIXME this is hacky and blocks the UI thread, not good for
many transactions
- // load new transactions first and wait for result
- transactionManager.loadTransactions().join()
// now select new transaction based on currency and ID
- if (transactionManager.selectTransaction(status.currency,
status.transactionId)) {
+ if
(transactionManager.selectTransaction(status.transactionId)) {
findNavController().navigate(R.id.action_promptWithdraw_to_nav_transactions_detail_withdrawal)
} else {
findNavController().navigate(R.id.action_promptWithdraw_to_nav_main)
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-taler-android] branch master updated: [wallet] Improve selecting transaction after bank withdrawal,
gnunet <=