diff options
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.kt | 31 |
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( |