aboutsummaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2023-01-05 17:03:34 -0300
committerTorsten Grote <t@grobox.de>2023-01-05 17:04:02 -0300
commit2c78d3c9ac6d2b7749af4c46f424766ede0a7a1b (patch)
tree1f473f9e072468bc45862b400d8ef4e91d9c5955 /wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt
parentab77084575b76f9cbd517ff5817a2a5655133136 (diff)
downloadtaler-android-2c78d3c9ac6d2b7749af4c46f424766ede0a7a1b.tar.gz
taler-android-2c78d3c9ac6d2b7749af4c46f424766ede0a7a1b.tar.bz2
taler-android-2c78d3c9ac6d2b7749af4c46f424766ede0a7a1b.zip
[wallet] Some fixes for accepting a tip
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt94
1 files changed, 46 insertions, 48 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt b/wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt
index 6a96d1d..b0f5a35 100644
--- a/wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt
@@ -44,11 +44,11 @@ class PromptTipFragment : Fragment() {
private lateinit var ui: FragmentPromptTipBinding
override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?,
+ inflater: LayoutInflater,
+ container: ViewGroup?,
savedInstanceState: Bundle?,
): View {
ui = FragmentPromptTipBinding.inflate(inflater, container, false)
- ui.introView.fadeIn()
return ui.root
}
@@ -73,55 +73,53 @@ class PromptTipFragment : Fragment() {
}
}
- private fun onPaymentStatusChanged(payStatus: TipStatus?) {
- when (payStatus) {
- null -> {}
- is TipStatus.Prepared -> {
- showLoading(false)
- showContent(
- amountRaw = payStatus.tipAmountRaw,
- amountEffective = payStatus.tipAmountEffective,
- exchange = payStatus.exchangeBaseUrl,
- merchant = payStatus.merchantBaseUrl
+ private fun onPaymentStatusChanged(payStatus: TipStatus) = when (payStatus) {
+ is TipStatus.Prepared -> {
+ showLoading(false)
+ showContent(
+ amountRaw = payStatus.tipAmountRaw,
+ amountEffective = payStatus.tipAmountEffective,
+ exchange = payStatus.exchangeBaseUrl,
+ merchant = payStatus.merchantBaseUrl
+ )
+ ui.confirmWithdrawButton.isEnabled = true
+ ui.confirmWithdrawButton.setOnClickListener {
+ tipManager.confirmTip(
+ payStatus.walletTipId,
+ payStatus.tipAmountRaw.currency
)
- //showOrder(payStatus.contractTerms, payStatus.amountRaw, fees)
- ui.confirmWithdrawButton.isEnabled = true
- ui.confirmWithdrawButton.setOnClickListener {
- model.showProgressBar.value = true
- tipManager.confirmTip(
- payStatus.walletTipId,
- payStatus.tipAmountRaw.currency
- )
- ui.confirmWithdrawButton.fadeOut()
- ui.progressBar.fadeIn()
- }
- }
- is TipStatus.AlreadyAccepted -> {
- showLoading(false)
- tipManager.resetTipStatus()
- findNavController().navigate(R.id.action_promptTip_to_alreadyAccepted)
- }
- is TipStatus.Success -> {
- showLoading(false)
- tipManager.resetTipStatus()
- findNavController().navigate(R.id.action_promptTip_to_nav_main)
- model.showTransactions(payStatus.currency)
- Snackbar.make(requireView(), R.string.tip_received, LENGTH_LONG).show()
- }
- is TipStatus.Error -> {
- showLoading(false)
- ui.introView.text = getString(R.string.payment_error, payStatus.error)
- ui.introView.fadeIn()
- }
- is TipStatus.None -> {
- // No payment active.
- showLoading(false)
- }
- is TipStatus.Loading -> {
- // Wait until loaded ...
- showLoading(true)
}
}
+ is TipStatus.Accepting -> {
+ model.showProgressBar.value = true
+ ui.confirmProgressBar.fadeIn()
+ ui.confirmWithdrawButton.fadeOut()
+ }
+ is TipStatus.AlreadyAccepted -> {
+ showLoading(false)
+ tipManager.resetTipStatus()
+ findNavController().navigate(R.id.action_promptTip_to_alreadyAccepted)
+ }
+ is TipStatus.Success -> {
+ showLoading(false)
+ tipManager.resetTipStatus()
+ findNavController().navigate(R.id.action_promptTip_to_nav_main)
+ model.showTransactions(payStatus.currency)
+ Snackbar.make(requireView(), R.string.tip_received, LENGTH_LONG).show()
+ }
+ is TipStatus.Error -> {
+ showLoading(false)
+ ui.introView.text = getString(R.string.payment_error, payStatus.error)
+ ui.introView.fadeIn()
+ }
+ is TipStatus.None -> {
+ // No tip active
+ showLoading(false)
+ }
+ is TipStatus.Loading -> {
+ // Wait until loaded ...
+ showLoading(true)
+ }
}
private fun showContent(