summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-03-07 22:51:38 -0600
committerTorsten Grote <t@grobox.de>2023-03-08 14:47:17 -0300
commit34954e4c0c730910ee45dec85a64117aa57023c2 (patch)
tree885046ddc0017e60287fc067998a638c4e57c8c1 /wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
parent1505aa4aa760e2921888696b7a1bd153576b790a (diff)
downloadtaler-android-34954e4c0c730910ee45dec85a64117aa57023c2.tar.gz
taler-android-34954e4c0c730910ee45dec85a64117aa57023c2.tar.bz2
taler-android-34954e4c0c730910ee45dec85a64117aa57023c2.zip
[wallet] Replace pending with extendedStatus
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt53
1 files changed, 41 insertions, 12 deletions
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,