gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-android] branch master updated: [wallet] navigate back to m


From: gnunet
Subject: [taler-taler-android] branch master updated: [wallet] navigate back to main screen after outgoing push is complete
Date: Tue, 18 Apr 2023 18:37:47 +0200

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a commit to branch master
in repository taler-android.

The following commit(s) were added to refs/heads/master by this push:
     new 62c86e4  [wallet] navigate back to main screen after outgoing push is 
complete
62c86e4 is described below

commit 62c86e421394492ff64cba0b65728817513254c9
Author: Torsten Grote <t@grobox.de>
AuthorDate: Tue Apr 18 13:37:40 2023 -0300

    [wallet] navigate back to main screen after outgoing push is complete
---
 .../java/net/taler/wallet/peer/OutgoingPushFragment.kt   | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushFragment.kt 
b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushFragment.kt
index 0aa029b..255aee5 100644
--- a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushFragment.kt
@@ -20,10 +20,12 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import androidx.activity.OnBackPressedCallback
 import androidx.compose.ui.platform.ComposeView
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.activityViewModels
 import androidx.navigation.findNavController
+import androidx.navigation.fragment.findNavController
 import net.taler.common.Amount
 import net.taler.wallet.MainViewModel
 import net.taler.wallet.R
@@ -34,6 +36,13 @@ class OutgoingPushFragment : Fragment() {
     private val model: MainViewModel by activityViewModels()
     private val peerManager get() = model.peerManager
 
+    // hacky way to change back action until we have navigation for compose
+    private val backPressedCallback = object : OnBackPressedCallback(false) {
+        override fun handleOnBackPressed() {
+            findNavController().navigate(R.id.action_nav_peer_push_to_nav_main)
+        }
+    }
+
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
@@ -42,11 +51,17 @@ class OutgoingPushFragment : Fragment() {
         val amount = arguments?.getString("amount")?.let {
             Amount.fromJSONString(it)
         } ?: error("no amount passed")
+
+        requireActivity().onBackPressedDispatcher.addCallback(
+            viewLifecycleOwner, backPressedCallback
+        )
+
         return ComposeView(requireContext()).apply {
             setContent {
                 TalerSurface {
                     when (val state = 
peerManager.pushState.collectAsStateLifecycleAware().value) {
                         is OutgoingIntro, OutgoingChecking, is OutgoingChecked 
-> {
+                            backPressedCallback.isEnabled = false
                             OutgoingPushIntroComposable(
                                 state = state,
                                 amount = amount,
@@ -54,6 +69,7 @@ class OutgoingPushFragment : Fragment() {
                             )
                         }
                         OutgoingCreating, is OutgoingResponse, is 
OutgoingError -> {
+                            backPressedCallback.isEnabled = true
                             OutgoingPushResultComposable(state) {
                                 
findNavController().navigate(R.id.action_nav_peer_push_to_nav_main)
                             }

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]