summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/transactions/TransactionWithdrawalFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/transactions/TransactionWithdrawalFragment.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/TransactionWithdrawalFragment.kt31
1 files changed, 12 insertions, 19 deletions
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 7a85522..27e59bb 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionWithdrawalFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionWithdrawalFragment.kt
@@ -38,16 +38,6 @@ class TransactionWithdrawalFragment : TransactionDetailFragment(), ActionListene
private val model: MainViewModel by activityViewModels()
private val withdrawManager by lazy { model.withdrawManager }
- private val isPending get() = transactionManager.selectedTransaction.value?.extendedStatus == ExtendedStatus.Pending
-
- override val deleteDialogTitle: Int
- get() = if (isPending) R.string.cancel else super.deleteDialogTitle
- override val deleteDialogMessage: Int
- get() = if (isPending) R.string.transactions_cancel_dialog_message
- else super.deleteDialogMessage
- override val deleteDialogButton: Int
- get() = if (isPending) R.string.ok else super.deleteDialogButton
-
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
@@ -56,13 +46,13 @@ class TransactionWithdrawalFragment : TransactionDetailFragment(), ActionListene
setContent {
TalerSurface {
val t = transactionManager.selectedTransaction.observeAsState().value
- val devMode = devMode.observeAsState().value ?: false
if (t is TransactionWithdrawal) TransactionWithdrawalComposable(
t = t,
devMode = devMode,
+ spec = balanceManager.getSpecForCurrency(t.amountRaw.currency),
actionListener = this@TransactionWithdrawalFragment,
) {
- onDeleteButtonClicked(t)
+ onTransitionButtonClicked(t, it)
}
}
}
@@ -71,10 +61,12 @@ 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)
+ if (tx !is TransactionWithdrawal) return
+ tx.kycUrl?.let {
+ launchInAppBrowser(requireContext(), it)
}
}
+
ActionListener.Type.CONFIRM_WITH_BANK -> {
if (tx !is TransactionWithdrawal) return
if (tx.withdrawalDetails !is TalerBankIntegrationApi) return
@@ -82,16 +74,17 @@ class TransactionWithdrawalFragment : TransactionDetailFragment(), ActionListene
launchInAppBrowser(requireContext(), url)
}
}
+
ActionListener.Type.CONFIRM_MANUAL -> {
if (tx !is TransactionWithdrawal) return
if (tx.withdrawalDetails !is ManualTransfer) return
- // TODO what if there's more than one or no URI?
- if (tx.withdrawalDetails.exchangePaytoUris.isEmpty()) return
+ if (tx.withdrawalDetails.exchangeCreditAccountDetails.isNullOrEmpty()) return
val status = createManualTransferRequired(
- amount = tx.amountRaw,
- exchangeBaseUrl = tx.exchangeBaseUrl,
- uriStr = tx.withdrawalDetails.exchangePaytoUris[0],
transactionId = tx.transactionId,
+ exchangeBaseUrl = tx.exchangeBaseUrl,
+ amountRaw = tx.amountRaw,
+ amountEffective = tx.amountEffective,
+ withdrawalAccountList = tx.withdrawalDetails.exchangeCreditAccountDetails,
)
withdrawManager.viewManualWithdrawal(status)
findNavController().navigate(