gnunet-svn
[Top][All Lists]
Advanced

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

[taler-taler-android] branch master updated (4aaf660 -> 0aba291)


From: gnunet
Subject: [taler-taler-android] branch master updated (4aaf660 -> 0aba291)
Date: Tue, 07 Nov 2023 15:08:12 +0100

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a change to branch master
in repository taler-android.

    from 4aaf660  [wallet] remove empty Dutch translation
     new 8372c75  [wallet] Upgrade KYC to new API
     new 0aba291  [wallet] Translate manual withdrawal to DD37

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 wallet/src/main/java/net/taler/wallet/Utils.kt     | 11 --------
 .../wallet/transactions/ActionButtonComposable.kt  | 29 +++++++---------------
 .../transactions/TransactionWithdrawalFragment.kt  |  8 +++---
 .../net/taler/wallet/transactions/Transactions.kt  |  1 +
 .../wallet/transactions/TransactionsFragment.kt    | 24 ++----------------
 5 files changed, 16 insertions(+), 57 deletions(-)

diff --git a/wallet/src/main/java/net/taler/wallet/Utils.kt 
b/wallet/src/main/java/net/taler/wallet/Utils.kt
index d1cdf8c..8b34531 100644
--- a/wallet/src/main/java/net/taler/wallet/Utils.kt
+++ b/wallet/src/main/java/net/taler/wallet/Utils.kt
@@ -40,9 +40,7 @@ import net.taler.common.Amount
 import net.taler.common.AmountParserException
 import net.taler.common.showError
 import net.taler.common.startActivitySafe
-import net.taler.wallet.backend.TalerErrorCode.WALLET_WITHDRAWAL_KYC_REQUIRED
 import net.taler.wallet.backend.TalerErrorInfo
-import net.taler.wallet.transactions.Transaction
 
 const val CURRENCY_BTC = "BITCOINBTC"
 
@@ -115,15 +113,6 @@ fun Context.getAttrColor(attr: Int): Int {
     return value.data
 }
 
-fun <T> Transaction.handleKyc(notRequired: () -> T, required: (TalerErrorInfo) 
-> T): T {
-    return error?.let { error ->
-        when (error.code) {
-            WALLET_WITHDRAWAL_KYC_REQUIRED -> required(error)
-            else -> notRequired()
-        }
-    } ?: notRequired()
-}
-
 fun launchInAppBrowser(context: Context, url: String) {
     val builder = CustomTabsIntent.Builder()
     val intent = builder.build().intent
diff --git 
a/wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt 
b/wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt
index d4c12aa..4e4bbe0 100644
--- 
a/wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt
+++ 
b/wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt
@@ -28,9 +28,10 @@ import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.stringResource
 import net.taler.wallet.R
-import net.taler.wallet.backend.TalerErrorCode
-import net.taler.wallet.transactions.WithdrawalDetails.ManualTransfer
-import net.taler.wallet.transactions.WithdrawalDetails.TalerBankIntegrationApi
+import net.taler.wallet.transactions.TransactionMajorState.Pending
+import net.taler.wallet.transactions.TransactionMinorState.BankConfirmTransfer
+import net.taler.wallet.transactions.TransactionMinorState.ExchangeWaitReserve
+import net.taler.wallet.transactions.TransactionMinorState.KycRequired
 
 interface ActionListener {
     enum class Type {
@@ -48,25 +49,13 @@ fun ActionButton(
     tx: TransactionWithdrawal,
     listener: ActionListener,
 ) {
-    if (tx.error != null) {
-        // There is an error!
-        when (tx.error.code) {
-            TalerErrorCode.WALLET_WITHDRAWAL_KYC_REQUIRED -> {
-                KycButton(modifier, tx, listener)
-            }
+    if (tx.txState.major == Pending) {
+        when (tx.txState.minor) {
+            KycRequired -> KycButton(modifier, tx, listener)
+            BankConfirmTransfer -> ConfirmBankButton(modifier, tx, listener)
+            ExchangeWaitReserve -> ConfirmManualButton(modifier, tx, listener)
             else -> {}
         }
-    } else if (!tx.confirmed) {
-        // There is a transaction!
-        if (tx.withdrawalDetails is TalerBankIntegrationApi &&
-            tx.withdrawalDetails.bankConfirmationUrl != null
-        ) {
-            // The transaction can be completed with a link!
-            ConfirmBankButton(modifier, tx, listener)
-        } else if (tx.withdrawalDetails is ManualTransfer) {
-            // The transaction must be completed manually!
-            ConfirmManualButton(modifier, tx, listener)
-        }
     }
 }
 
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 52bd998..0cd6d60 100644
--- 
a/wallet/src/main/java/net/taler/wallet/transactions/TransactionWithdrawalFragment.kt
+++ 
b/wallet/src/main/java/net/taler/wallet/transactions/TransactionWithdrawalFragment.kt
@@ -28,7 +28,6 @@ import net.taler.wallet.MainViewModel
 import net.taler.wallet.R
 import net.taler.wallet.compose.TalerSurface
 import net.taler.wallet.launchInAppBrowser
-import net.taler.wallet.showError
 import net.taler.wallet.transactions.WithdrawalDetails.ManualTransfer
 import net.taler.wallet.transactions.WithdrawalDetails.TalerBankIntegrationApi
 import net.taler.wallet.withdraw.TransactionWithdrawalComposable
@@ -61,9 +60,10 @@ class TransactionWithdrawalFragment : 
TransactionDetailFragment(), ActionListene
     override fun onActionButtonClicked(tx: Transaction, type: 
ActionListener.Type) {
         when (type) {
             ActionListener.Type.COMPLETE_KYC -> {
-                tx.error?.getStringExtra("kycUrl")?.let { kycUrl ->
-                    launchInAppBrowser(requireContext(), kycUrl)
-                } ?: tx.error?.let { showError(it) }
+                if (tx !is TransactionWithdrawal) return
+                tx.kycUrl?.let {
+                    launchInAppBrowser(requireContext(), it)
+                }
             }
 
             ActionListener.Type.CONFIRM_WITH_BANK -> {
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 6b1d135..e7f17c0 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/Transactions.kt
@@ -155,6 +155,7 @@ class TransactionWithdrawal(
     override val timestamp: Timestamp,
     override val txState: TransactionState,
     override val txActions: List<TransactionAction>,
+    val kycUrl: String? = null,
     val exchangeBaseUrl: String,
     val withdrawalDetails: WithdrawalDetails,
     override val error: TalerErrorInfo? = null,
diff --git 
a/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt 
b/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt
index 032f2de..2f00bf8 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionsFragment.kt
@@ -44,13 +44,12 @@ import net.taler.wallet.MainViewModel
 import net.taler.wallet.R
 import net.taler.wallet.TAG
 import net.taler.wallet.databinding.FragmentTransactionsBinding
-import net.taler.wallet.handleKyc
-import net.taler.wallet.launchInAppBrowser
 import net.taler.wallet.showError
+import net.taler.wallet.transactions.TransactionMajorState.*
+import net.taler.wallet.transactions.TransactionMinorState.*
 
 interface OnTransactionClickListener {
     fun onTransactionClicked(transaction: Transaction)
-    fun onActionButtonClicked(transaction: Transaction)
 }
 
 class TransactionsFragment : Fragment(), OnTransactionClickListener, 
ActionMode.Callback {
@@ -183,25 +182,6 @@ class TransactionsFragment : Fragment(), 
OnTransactionClickListener, ActionMode.
         }
     }
 
-    override fun onActionButtonClicked(transaction: Transaction) {
-        if (transaction.error != null) {
-            transaction.handleKyc({ error("Unhandled Action Button Event") }) 
{ error ->
-                error.getStringExtra("kycUrl")?.let {
-                    launchInAppBrowser(requireContext(), it)
-                }
-            }
-        } else if (transaction is TransactionWithdrawal && 
!transaction.confirmed) {
-            if (transaction.withdrawalDetails is 
WithdrawalDetails.TalerBankIntegrationApi &&
-                transaction.withdrawalDetails.bankConfirmationUrl != null
-            ) {
-                launchInAppBrowser(
-                    context = requireContext(),
-                    url = transaction.withdrawalDetails.bankConfirmationUrl,
-                )
-            }
-        }
-    }
-
     private fun onTransactionsResult(result: TransactionsResult) = when 
(result) {
         is TransactionsResult.Error -> {
             ui.list.fadeOut()

-- 
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]