commit 4af27e7b518688b24a2ae3c84e21bc398462d54a parent 3d4f7f902a12df2523691d60f3414f4657b22d48 Author: Iván Ávalos <avalos@disroot.org> Date: Tue, 26 Mar 2024 08:20:02 -0600 [wallet] Use TransactionManager.selectedScope instead of passing around scopeInfo (cherry picked from commit afcb6f620cbe2b1b0d70d23ee27344e74cf4bf1c) Diffstat:
6 files changed, 7 insertions(+), 45 deletions(-)
diff --git a/wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt b/wallet/src/main/java/net/taler/wallet/ReceiveFundsFragment.kt @@ -50,10 +50,8 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController -import kotlinx.serialization.encodeToString import net.taler.common.Amount import net.taler.common.CurrencySpecification -import net.taler.wallet.backend.BackendManager import net.taler.wallet.compose.AmountInputField import net.taler.wallet.compose.DEFAULT_INPUT_DECIMALS import net.taler.wallet.compose.TalerSurface @@ -111,10 +109,7 @@ class ReceiveFundsFragment : Fragment() { } private fun onPeerPull(amount: Amount) { - val bundle = bundleOf( - "amount" to amount.toJSONString(), - "scopeInfo" to BackendManager.json.encodeToString(scopeInfo), - ) + val bundle = bundleOf("amount" to amount.toJSONString()) peerManager.checkPeerPullCredit(amount) findNavController().navigate(R.id.action_receiveFunds_to_nav_peer_pull, bundle) } diff --git a/wallet/src/main/java/net/taler/wallet/SendFundsFragment.kt b/wallet/src/main/java/net/taler/wallet/SendFundsFragment.kt @@ -47,10 +47,8 @@ import androidx.core.os.bundleOf import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController -import kotlinx.serialization.encodeToString import net.taler.common.Amount import net.taler.common.CurrencySpecification -import net.taler.wallet.backend.BackendManager import net.taler.wallet.compose.AmountInputField import net.taler.wallet.compose.DEFAULT_INPUT_DECIMALS import net.taler.wallet.compose.TalerSurface @@ -85,18 +83,12 @@ class SendFundsFragment : Fragment() { } private fun onDeposit(amount: Amount) { - val bundle = bundleOf( - "amount" to amount.toJSONString(), - "scopeInfo" to BackendManager.json.encodeToString(scopeInfo), - ) + val bundle = bundleOf("amount" to amount.toJSONString()) findNavController().navigate(R.id.action_sendFunds_to_nav_deposit, bundle) } private fun onPeerPush(amount: Amount) { - val bundle = bundleOf( - "amount" to amount.toJSONString(), - "scopeInfo" to BackendManager.json.encodeToString(scopeInfo), - ) + val bundle = bundleOf("amount" to amount.toJSONString()) peerManager.checkPeerPushDebit(amount) findNavController().navigate(R.id.action_sendFunds_to_nav_peer_push, bundle) } diff --git a/wallet/src/main/java/net/taler/wallet/deposit/DepositFragment.kt b/wallet/src/main/java/net/taler/wallet/deposit/DepositFragment.kt @@ -30,8 +30,6 @@ import net.taler.common.showError import net.taler.wallet.CURRENCY_BTC import net.taler.wallet.MainViewModel import net.taler.wallet.R -import net.taler.wallet.backend.BackendManager -import net.taler.wallet.balances.ScopeInfo import net.taler.wallet.compose.TalerSurface import net.taler.wallet.compose.collectAsStateLifecycleAware import net.taler.wallet.showError @@ -40,6 +38,7 @@ class DepositFragment : Fragment() { private val model: MainViewModel by activityViewModels() private val depositManager get() = model.depositManager private val balanceManager get() = model.balanceManager + private val transactionManager get() = model.transactionManager override fun onCreateView( inflater: LayoutInflater, @@ -49,9 +48,7 @@ class DepositFragment : Fragment() { val amount = arguments?.getString("amount")?.let { Amount.fromJSONString(it) } ?: error("no amount passed") - val scopeInfo: ScopeInfo? = arguments?.getString("scopeInfo")?.let { - BackendManager.json.decodeFromString(it) - } + val scopeInfo = transactionManager.selectedScope val spec = scopeInfo?.let { balanceManager.getSpecForScopeInfo(it) } val receiverName = arguments?.getString("receiverName") val iban = arguments?.getString("IBAN") diff --git a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullFragment.kt b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPullFragment.kt @@ -31,8 +31,6 @@ import kotlinx.coroutines.launch import net.taler.common.Amount import net.taler.wallet.MainViewModel import net.taler.wallet.R -import net.taler.wallet.backend.BackendManager -import net.taler.wallet.balances.ScopeInfo import net.taler.wallet.compose.TalerSurface import net.taler.wallet.compose.collectAsStateLifecycleAware import net.taler.wallet.exchanges.ExchangeItem @@ -52,9 +50,7 @@ class OutgoingPullFragment : Fragment() { val amount = arguments?.getString("amount")?.let { Amount.fromJSONString(it) } ?: error("no amount passed") - val scopeInfo: ScopeInfo? = arguments?.getString("scopeInfo")?.let { - BackendManager.json.decodeFromString(it) - } + val scopeInfo = transactionManager.selectedScope val spec = scopeInfo?.let { balanceManager.getSpecForScopeInfo(it) } return ComposeView(requireContext()).apply { diff --git a/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushFragment.kt b/wallet/src/main/java/net/taler/wallet/peer/OutgoingPushFragment.kt @@ -33,8 +33,6 @@ import kotlinx.coroutines.launch import net.taler.common.Amount import net.taler.wallet.MainViewModel import net.taler.wallet.R -import net.taler.wallet.backend.BackendManager -import net.taler.wallet.balances.ScopeInfo import net.taler.wallet.compose.TalerSurface import net.taler.wallet.compose.collectAsStateLifecycleAware import net.taler.wallet.showError @@ -60,9 +58,7 @@ class OutgoingPushFragment : Fragment() { val amount = arguments?.getString("amount")?.let { Amount.fromJSONString(it) } ?: error("no amount passed") - val scopeInfo: ScopeInfo? = arguments?.getString("scopeInfo")?.let { - BackendManager.json.decodeFromString(it) - } + val scopeInfo = transactionManager.selectedScope val spec = scopeInfo?.let { balanceManager.getSpecForScopeInfo(it) } requireActivity().onBackPressedDispatcher.addCallback( diff --git a/wallet/src/main/res/navigation/nav_graph.xml b/wallet/src/main/res/navigation/nav_graph.xml @@ -134,10 +134,6 @@ app:argType="string" app:nullable="false" /> <argument - android:name="scopeInfo" - app:argType="string" - app:nullable="true" /> - <argument android:name="IBAN" android:defaultValue="@null" app:argType="string" @@ -162,11 +158,6 @@ android:defaultValue="@null" app:argType="string" app:nullable="true" /> - <argument - android:name="scopeInfo" - android:defaultValue="@null" - app:argType="string" - app:nullable="true" /> <action android:id="@+id/action_nav_peer_pull_to_nav_main" app:destination="@id/nav_main" @@ -186,11 +177,6 @@ android:defaultValue="@null" app:argType="string" app:nullable="true" /> - <argument - android:name="scopeInfo" - android:defaultValue="@null" - app:argType="string" - app:nullable="true" /> <action android:id="@+id/action_nav_peer_push_to_nav_main" app:destination="@id/nav_main"