gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-android] branch master updated: [wallet] Replace pending wi


From: gnunet
Subject: [taler-taler-android] branch master updated: [wallet] Replace pending with extendedStatus
Date: Wed, 08 Mar 2023 18:47:35 +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 34954e4  [wallet] Replace pending with extendedStatus
34954e4 is described below

commit 34954e4c0c730910ee45dec85a64117aa57023c2
Author: Iván Ávalos <avalos@disroot.org>
AuthorDate: Tue Mar 7 22:51:38 2023 -0600

    [wallet] Replace pending with extendedStatus
---
 .../wallet/deposit/TransactionDepositComposable.kt |  3 +-
 .../taler/wallet/peer/TransactionPeerPullCredit.kt |  5 +-
 .../taler/wallet/peer/TransactionPeerPullDebit.kt  |  3 +-
 .../taler/wallet/peer/TransactionPeerPushCredit.kt |  3 +-
 .../taler/wallet/peer/TransactionPeerPushDebit.kt  |  3 +-
 .../wallet/transactions/TransactionAdapter.kt      |  7 +--
 .../wallet/transactions/TransactionManager.kt      |  3 +-
 .../wallet/transactions/TransactionTipFragment.kt  |  3 +-
 .../transactions/TransactionWithdrawalFragment.kt  |  7 +--
 .../net/taler/wallet/transactions/Transactions.kt  | 53 +++++++++++++++++-----
 10 files changed, 64 insertions(+), 26 deletions(-)

diff --git 
a/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt 
b/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt
index f6f411a..a06fed4 100644
--- 
a/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt
+++ 
b/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt
@@ -37,6 +37,7 @@ import net.taler.common.toAbsoluteTime
 import net.taler.wallet.R
 import net.taler.wallet.transactions.AmountType
 import net.taler.wallet.transactions.DeleteTransactionComposable
+import net.taler.wallet.transactions.ExtendedStatus.Pending
 import net.taler.wallet.transactions.TransactionAmountComposable
 import net.taler.wallet.transactions.TransactionDeposit
 
@@ -83,7 +84,7 @@ fun TransactionDepositComposablePreview() {
     val t = TransactionDeposit(
         transactionId = "transactionId",
         timestamp = Timestamp.fromMillis(System.currentTimeMillis() - 360 * 60 
* 1000),
-        pending = true,
+        extendedStatus = Pending,
         depositGroupId = "fooBar",
         amountRaw = Amount.fromDouble("TESTKUDOS", 42.1337),
         amountEffective = Amount.fromDouble("TESTKUDOS", 42.23),
diff --git 
a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullCredit.kt 
b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullCredit.kt
index c64f0d3..0687b0f 100644
--- a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullCredit.kt
+++ b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullCredit.kt
@@ -31,6 +31,7 @@ import net.taler.common.Timestamp
 import net.taler.wallet.R
 import net.taler.wallet.compose.QrCodeUriComposable
 import net.taler.wallet.transactions.AmountType
+import net.taler.wallet.transactions.ExtendedStatus.Pending
 import net.taler.wallet.transactions.PeerInfoShort
 import net.taler.wallet.transactions.TransactionAmountComposable
 import net.taler.wallet.transactions.TransactionInfoComposable
@@ -61,7 +62,7 @@ fun ColumnScope.TransactionPeerPullCreditComposable(t: 
TransactionPeerPullCredit
         label = stringResource(id = R.string.send_peer_purpose),
         info = t.info.summary ?: "",
     )
-    if (t.pending) {
+    if (t.extendedStatus == Pending) {
         QrCodeUriComposable(
             talerUri = t.talerUri,
             clipBoardLabel = "Invoice",
@@ -82,7 +83,7 @@ fun TransactionPeerPullCreditPreview() {
     val t = TransactionPeerPullCredit(
         transactionId = "transactionId",
         timestamp = Timestamp.fromMillis(System.currentTimeMillis() - 360 * 60 
* 1000),
-        pending = true,
+        extendedStatus = Pending,
         exchangeBaseUrl = "https://exchange.example.org/";,
         amountRaw = Amount.fromDouble("TESTKUDOS", 42.23),
         amountEffective = Amount.fromDouble("TESTKUDOS", 42.1337),
diff --git 
a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullDebit.kt 
b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullDebit.kt
index ccf0324..3325776 100644
--- a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullDebit.kt
+++ b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPullDebit.kt
@@ -24,6 +24,7 @@ import net.taler.common.Amount
 import net.taler.common.Timestamp
 import net.taler.wallet.R
 import net.taler.wallet.transactions.AmountType
+import net.taler.wallet.transactions.ExtendedStatus.Pending
 import net.taler.wallet.transactions.PeerInfoShort
 import net.taler.wallet.transactions.TransactionAmountComposable
 import net.taler.wallet.transactions.TransactionInfoComposable
@@ -62,7 +63,7 @@ fun TransactionPeerPullDebitPreview() {
     val t = TransactionPeerPullDebit(
         transactionId = "transactionId",
         timestamp = Timestamp.fromMillis(System.currentTimeMillis() - 360 * 60 
* 1000),
-        pending = true,
+        extendedStatus = Pending,
         exchangeBaseUrl = "https://exchange.example.org/";,
         amountRaw = Amount.fromDouble("TESTKUDOS", 42.1337),
         amountEffective = Amount.fromDouble("TESTKUDOS", 42.23),
diff --git 
a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushCredit.kt 
b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushCredit.kt
index 897d3fb..e6fd002 100644
--- a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushCredit.kt
+++ b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushCredit.kt
@@ -24,6 +24,7 @@ import net.taler.common.Amount
 import net.taler.common.Timestamp
 import net.taler.wallet.R
 import net.taler.wallet.transactions.AmountType
+import net.taler.wallet.transactions.ExtendedStatus.Pending
 import net.taler.wallet.transactions.PeerInfoShort
 import net.taler.wallet.transactions.TransactionAmountComposable
 import net.taler.wallet.transactions.TransactionInfoComposable
@@ -62,7 +63,7 @@ fun TransactionPeerPushCreditPreview() {
     val t = TransactionPeerPushCredit(
         transactionId = "transactionId",
         timestamp = Timestamp.fromMillis(System.currentTimeMillis() - 360 * 60 
* 1000),
-        pending = true,
+        extendedStatus = Pending,
         exchangeBaseUrl = "https://exchange.example.org/";,
         amountRaw = Amount.fromDouble("TESTKUDOS", 42.23),
         amountEffective = Amount.fromDouble("TESTKUDOS", 42.1337),
diff --git 
a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushDebit.kt 
b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushDebit.kt
index 3e74d43..56b3626 100644
--- a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushDebit.kt
+++ b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushDebit.kt
@@ -31,6 +31,7 @@ import net.taler.common.Timestamp
 import net.taler.wallet.R
 import net.taler.wallet.compose.QrCodeUriComposable
 import net.taler.wallet.transactions.AmountType
+import net.taler.wallet.transactions.ExtendedStatus.Pending
 import net.taler.wallet.transactions.PeerInfoShort
 import net.taler.wallet.transactions.TransactionAmountComposable
 import net.taler.wallet.transactions.TransactionInfoComposable
@@ -80,7 +81,7 @@ fun TransactionPeerPushDebitPreview() {
     val t = TransactionPeerPushDebit(
         transactionId = "transactionId",
         timestamp = Timestamp.fromMillis(System.currentTimeMillis() - 360 * 60 
* 1000),
-        pending = true,
+        extendedStatus = Pending,
         exchangeBaseUrl = "https://exchange.example.org/";,
         amountRaw = Amount.fromDouble("TESTKUDOS", 42.1337),
         amountEffective = Amount.fromDouble("TESTKUDOS", 42.23),
diff --git 
a/wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt 
b/wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt
index e65a751..c2f7122 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt
@@ -37,6 +37,7 @@ import net.taler.common.exhaustive
 import net.taler.common.toRelativeTime
 import net.taler.wallet.R
 import net.taler.wallet.handleKyc
+import net.taler.wallet.transactions.ExtendedStatus.Pending
 import net.taler.wallet.transactions.TransactionAdapter.TransactionViewHolder
 
 internal class TransactionAdapter(
@@ -101,7 +102,7 @@ internal class TransactionAdapter(
             bindActionButton(transaction)
             time.text = transaction.timestamp.ms.toRelativeTime(context)
             bindAmount(transaction)
-            pendingView.visibility = if (transaction.pending) VISIBLE else GONE
+            pendingView.visibility = if (transaction.extendedStatus == 
Pending) VISIBLE else GONE
             val bgColor = getColor(context,
                 if (selected) R.color.selectedBackground
                 else android.R.color.transparent)
@@ -150,11 +151,11 @@ internal class TransactionAdapter(
             when (transaction.amountType) {
                 AmountType.Positive -> {
                     amount.text = context.getString(R.string.amount_positive, 
amountStr)
-                    amount.setTextColor(if (transaction.pending) amountColor 
else green)
+                    amount.setTextColor(if (transaction.extendedStatus == 
Pending) amountColor else green)
                 }
                 AmountType.Negative -> {
                     amount.text = context.getString(R.string.amount_negative, 
amountStr)
-                    amount.setTextColor(if (transaction.pending) amountColor 
else red)
+                    amount.setTextColor(if (transaction.extendedStatus == 
Pending) amountColor else red)
                 }
                 AmountType.Neutral -> {
                     amount.text = amountStr
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 8be3fb5..f6f25cc 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionManager.kt
@@ -25,6 +25,7 @@ import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.launch
 import net.taler.wallet.TAG
 import net.taler.wallet.backend.WalletBackendApi
+import net.taler.wallet.transactions.ExtendedStatus.Pending
 import java.util.LinkedList
 
 sealed class TransactionsResult {
@@ -75,7 +76,7 @@ class TransactionManager(
             val transactions = LinkedList(result.transactions)
             // TODO remove when fixed in wallet-core
             val comparator = compareBy<Transaction>(
-                { it.pending },
+                { it.extendedStatus == Pending },
                 { it.timestamp.ms },
                 { it.transactionId }
             )
diff --git 
a/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt 
b/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt
index 91af805..02b522f 100644
--- 
a/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt
+++ 
b/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt
@@ -42,6 +42,7 @@ import net.taler.common.Timestamp
 import net.taler.common.toAbsoluteTime
 import net.taler.wallet.R
 import net.taler.wallet.compose.TalerSurface
+import net.taler.wallet.transactions.ExtendedStatus.Pending
 
 class TransactionTipFragment : TransactionDetailFragment() {
 
@@ -109,7 +110,7 @@ fun TransactionTipPreview() {
     val t = TransactionTip(
         transactionId = "transactionId",
         timestamp = Timestamp.fromMillis(System.currentTimeMillis() - 360 * 60 
* 1000),
-        pending = true,
+        extendedStatus = Pending,
         merchantBaseUrl = "https://merchant.example.org/";,
         amountRaw = Amount.fromDouble("TESTKUDOS", 42.23),
         amountEffective = Amount.fromDouble("TESTKUDOS", 42.1337),
diff --git 
a/wallet/src/main/java/net/taler/wallet/transactions/TransactionWithdrawalFragment.kt
 
b/wallet/src/main/java/net/taler/wallet/transactions/TransactionWithdrawalFragment.kt
index 2778126..9a43efa 100644
--- 
a/wallet/src/main/java/net/taler/wallet/transactions/TransactionWithdrawalFragment.kt
+++ 
b/wallet/src/main/java/net/taler/wallet/transactions/TransactionWithdrawalFragment.kt
@@ -31,6 +31,7 @@ import net.taler.wallet.cleanExchange
 import net.taler.wallet.databinding.FragmentTransactionWithdrawalBinding
 import net.taler.wallet.handleKyc
 import net.taler.wallet.launchInAppBrowser
+import net.taler.wallet.transactions.ExtendedStatus.Pending
 import net.taler.wallet.transactions.WithdrawalDetails.ManualTransfer
 import net.taler.wallet.transactions.WithdrawalDetails.TalerBankIntegrationApi
 import net.taler.wallet.withdraw.createManualTransferRequired
@@ -65,7 +66,7 @@ class TransactionWithdrawalFragment : 
TransactionDetailFragment() {
             val fee = t.amountRaw - t.amountEffective
             ui.feeView.text = getString(R.string.amount_negative, 
fee.toString())
             ui.exchangeView.text = cleanExchange(t.exchangeBaseUrl)
-            if (t.pending) {
+            if (t.extendedStatus == Pending) {
                 ui.deleteButton.setIconResource(R.drawable.ic_cancel)
                 ui.deleteButton.setText(R.string.cancel)
             }
@@ -75,7 +76,7 @@ class TransactionWithdrawalFragment : 
TransactionDetailFragment() {
         }
     }
 
-    private val isPending get() = 
transactionManager.selectedTransaction.value?.pending == true
+    private val isPending get() = 
transactionManager.selectedTransaction.value?.extendedStatus == Pending
 
     override val deleteDialogTitle: Int
         get() = if (isPending) R.string.cancel else super.deleteDialogTitle
@@ -86,7 +87,7 @@ class TransactionWithdrawalFragment : 
TransactionDetailFragment() {
         get() = if (isPending) R.string.ok else super.deleteDialogButton
 
     private fun setupConfirmWithdrawalButton(t: TransactionWithdrawal) {
-        if (t.pending && !t.confirmed) {
+        if (t.extendedStatus == Pending && !t.confirmed) {
             if (t.withdrawalDetails is TalerBankIntegrationApi &&
                 t.withdrawalDetails.bankConfirmationUrl != null
             ) {
diff --git a/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt 
b/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
index 740aab6..68d0bc4 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
@@ -40,7 +40,7 @@ data class Transactions(val transactions: List<Transaction>)
 sealed class Transaction {
     abstract val transactionId: String
     abstract val timestamp: Timestamp
-    abstract val pending: Boolean
+    abstract val extendedStatus: ExtendedStatus
     abstract val error: TalerErrorInfo?
     abstract val amountRaw: Amount
     abstract val amountEffective: Amount
@@ -59,6 +59,35 @@ sealed class Transaction {
     abstract val generalTitleRes: Int
 }
 
+enum class ExtendedStatus {
+    @SerialName("pending")
+    Pending,
+
+    @SerialName("done")
+    Done,
+
+    @SerialName("aborting")
+    Aborting,
+
+    @SerialName("aborted")
+    Aborted,
+
+    @SerialName("suspended")
+    Suspended,
+
+    @SerialName("failed")
+    Failed,
+
+    @SerialName("kyc-required")
+    KycRequired,
+
+    @SerialName("aml-required")
+    AmlRequired,
+
+    @SerialName("deleted")
+    Deleted;
+}
+
 sealed class AmountType {
     object Positive : AmountType()
     object Negative : AmountType()
@@ -70,7 +99,7 @@ sealed class AmountType {
 class TransactionWithdrawal(
     override val transactionId: String,
     override val timestamp: Timestamp,
-    override val pending: Boolean,
+    override val extendedStatus: ExtendedStatus,
     val exchangeBaseUrl: String,
     val withdrawalDetails: WithdrawalDetails,
     override val error: TalerErrorInfo? = null,
@@ -86,7 +115,7 @@ class TransactionWithdrawal(
     override fun getTitle(context: Context) = cleanExchange(exchangeBaseUrl)
     override val generalTitleRes = R.string.withdraw_title
     val confirmed: Boolean
-        get() = !pending && (
+        get() = extendedStatus != ExtendedStatus.Pending && (
                 (withdrawalDetails is TalerBankIntegrationApi && 
withdrawalDetails.confirmed) ||
                         withdrawalDetails is ManualTransfer
                 )
@@ -128,7 +157,7 @@ sealed class WithdrawalDetails {
 class TransactionPayment(
     override val transactionId: String,
     override val timestamp: Timestamp,
-    override val pending: Boolean,
+    override val extendedStatus: ExtendedStatus,
     val info: TransactionInfo,
     val status: PaymentStatus,
     override val error: TalerErrorInfo? = null,
@@ -183,7 +212,7 @@ enum class PaymentStatus {
 class TransactionRefund(
     override val transactionId: String,
     override val timestamp: Timestamp,
-    override val pending: Boolean,
+    override val extendedStatus: ExtendedStatus,
     val refundedTransactionId: String,
     val info: TransactionInfo,
     /**
@@ -211,7 +240,7 @@ class TransactionRefund(
 class TransactionTip(
     override val transactionId: String,
     override val timestamp: Timestamp,
-    override val pending: Boolean,
+    override val extendedStatus: ExtendedStatus,
     val merchantBaseUrl: String,
     override val error: TalerErrorInfo? = null,
     override val amountRaw: Amount,
@@ -234,7 +263,7 @@ class TransactionTip(
 class TransactionRefresh(
     override val transactionId: String,
     override val timestamp: Timestamp,
-    override val pending: Boolean,
+    override val extendedStatus: ExtendedStatus,
     val exchangeBaseUrl: String,
     override val error: TalerErrorInfo? = null,
     override val amountRaw: Amount,
@@ -257,7 +286,7 @@ class TransactionRefresh(
 class TransactionDeposit(
     override val transactionId: String,
     override val timestamp: Timestamp,
-    override val pending: Boolean,
+    override val extendedStatus: ExtendedStatus,
     override val error: TalerErrorInfo? = null,
     override val amountRaw: Amount,
     override val amountEffective: Amount,
@@ -290,7 +319,7 @@ data class PeerInfoShort(
 class TransactionPeerPullDebit(
     override val transactionId: String,
     override val timestamp: Timestamp,
-    override val pending: Boolean,
+    override val extendedStatus: ExtendedStatus,
     val exchangeBaseUrl: String,
     override val error: TalerErrorInfo? = null,
     override val amountRaw: Amount,
@@ -317,7 +346,7 @@ class TransactionPeerPullDebit(
 class TransactionPeerPullCredit(
     override val transactionId: String,
     override val timestamp: Timestamp,
-    override val pending: Boolean,
+    override val extendedStatus: ExtendedStatus,
     val exchangeBaseUrl: String,
     override val error: TalerErrorInfo? = null,
     override val amountRaw: Amount,
@@ -345,7 +374,7 @@ class TransactionPeerPullCredit(
 class TransactionPeerPushDebit(
     override val transactionId: String,
     override val timestamp: Timestamp,
-    override val pending: Boolean,
+    override val extendedStatus: ExtendedStatus,
     val exchangeBaseUrl: String,
     override val error: TalerErrorInfo? = null,
     override val amountRaw: Amount,
@@ -374,7 +403,7 @@ class TransactionPeerPushDebit(
 class TransactionPeerPushCredit(
     override val transactionId: String,
     override val timestamp: Timestamp,
-    override val pending: Boolean,
+    override val extendedStatus: ExtendedStatus,
     val exchangeBaseUrl: String,
     override val error: TalerErrorInfo? = null,
     override val amountRaw: Amount,

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]