summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/peer/OutgoingPullFragment.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/peer/OutgoingPullFragment.kt25
1 files changed, 12 insertions, 13 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullFragment.kt b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullFragment.kt
index 5dc1af7..cccae0f 100644
--- a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullFragment.kt
@@ -44,22 +44,21 @@ class OutgoingPullFragment : Fragment() {
val amount = arguments?.getString("amount")?.let {
Amount.fromJSONString(it)
} ?: error("no amount passed")
- val exchangeFlow = exchangeManager.findExchangeForCurrency(amount.currency)
return ComposeView(requireContext()).apply {
setContent {
TalerSurface {
- val state = peerManager.pullState.collectAsStateLifecycleAware()
- if (state.value is OutgoingIntro) {
- val exchangeState =
- exchangeFlow.collectAsStateLifecycleAware(initial = null)
- OutgoingPullIntroComposable(
- amount = amount,
- exchangeState = exchangeState,
- onCreateInvoice = this@OutgoingPullFragment::onCreateInvoice,
- )
- } else {
- OutgoingPullResultComposable(state.value) {
- findNavController().popBackStack()
+ when (val state = peerManager.pullState.collectAsStateLifecycleAware().value) {
+ is OutgoingIntro, OutgoingChecking, is OutgoingChecked -> {
+ OutgoingPullIntroComposable(
+ amount = amount,
+ state = state,
+ onCreateInvoice = this@OutgoingPullFragment::onCreateInvoice,
+ )
+ }
+ OutgoingCreating, is OutgoingResponse, is OutgoingError -> {
+ OutgoingPullResultComposable(state) {
+ findNavController().popBackStack()
+ }
}
}
}