diff options
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt | 17 | ||||
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/tip/TipManager.kt | 6 |
2 files changed, 9 insertions, 14 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 b0f5a35..78969d0 100644 --- a/wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt @@ -28,6 +28,7 @@ import com.google.android.material.snackbar.Snackbar.LENGTH_LONG import net.taler.common.Amount import net.taler.common.fadeIn import net.taler.common.fadeOut +import net.taler.common.showError import net.taler.wallet.MainViewModel import net.taler.wallet.R import net.taler.wallet.cleanExchange @@ -54,14 +55,6 @@ class PromptTipFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { tipManager.tipStatus.observe(viewLifecycleOwner, ::onPaymentStatusChanged) - - } - - override fun onDestroy() { - super.onDestroy() - if (!requireActivity().isChangingConfigurations) { - // tipManager.abortTip() - } } private fun showLoading(show: Boolean) { @@ -84,7 +77,7 @@ class PromptTipFragment : Fragment() { ) ui.confirmWithdrawButton.isEnabled = true ui.confirmWithdrawButton.setOnClickListener { - tipManager.confirmTip( + tipManager.acceptTip( payStatus.walletTipId, payStatus.tipAmountRaw.currency ) @@ -109,8 +102,10 @@ class PromptTipFragment : Fragment() { } is TipStatus.Error -> { showLoading(false) - ui.introView.text = getString(R.string.payment_error, payStatus.error) - ui.introView.fadeIn() + // TODO pass TalerErrorInfo for JSON rendering + showError(getString(R.string.payment_error, payStatus.error.userFacingMsg)) + ui.confirmProgressBar.fadeOut() + ui.confirmWithdrawButton.fadeIn() } is TipStatus.None -> { // No tip active diff --git a/wallet/src/main/java/net/taler/wallet/tip/TipManager.kt b/wallet/src/main/java/net/taler/wallet/tip/TipManager.kt index 5548687..3c54d20 100644 --- a/wallet/src/main/java/net/taler/wallet/tip/TipManager.kt +++ b/wallet/src/main/java/net/taler/wallet/tip/TipManager.kt @@ -47,7 +47,7 @@ sealed class TipStatus { ) : TipStatus() // TODO bring user to fulfilment URI (not yet in wallet API) - data class Error(val error: String) : TipStatus() + data class Error(val error: TalerErrorInfo) : TipStatus() data class Success(val currency: String) : TipStatus() } @@ -76,7 +76,7 @@ class TipManager( } } - fun confirmTip(tipId: String, currency: String) = scope.launch { + fun acceptTip(tipId: String, currency: String) = scope.launch { mTipStatus.value = TipStatus.Accepting api.request("acceptTip", ConfirmTipResult.serializer()) { put("walletTipId", tipId) @@ -94,7 +94,7 @@ class TipManager( private fun handleError(operation: String, error: TalerErrorInfo) { Log.e(TAG, "got $operation error result $error") - mTipStatus.value = TipStatus.Error(error.userFacingMsg) + mTipStatus.value = TipStatus.Error(error) } } |