taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

commit c435770450be207a1c598404115c3784a45a7b96
parent 508a12b8f7957dcf817fb2f29a6b924b22ebdc55
Author: Torsten Grote <t@grobox.de>
Date:   Wed, 13 May 2020 10:11:11 -0300

[wallet] switch to multi-currency mode when a new currency gets added

Diffstat:
Mwallet/src/main/java/net/taler/wallet/MainFragment.kt | 9++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/wallet/src/main/java/net/taler/wallet/MainFragment.kt b/wallet/src/main/java/net/taler/wallet/MainFragment.kt @@ -30,6 +30,7 @@ import net.taler.wallet.transactions.TransactionsFragment class MainFragment : Fragment() { private val model: MainViewModel by activityViewModels() + private var currentTag: String? = null override fun onCreateView( inflater: LayoutInflater, @@ -55,15 +56,17 @@ class MainFragment : Fragment() { } private fun onBalancesChanged(balances: List<BalanceItem>) { - if (childFragmentManager.fragments.isEmpty()) { - val f = if (balances.size == 1) { + val tag = if (balances.size == 1) "single" else "multi" + if (currentTag != tag) { + val f = if (tag == "single") { model.transactionManager.selectedCurrency = balances[0].available.currency TransactionsFragment() } else { BalancesFragment() } + currentTag = tag childFragmentManager.beginTransaction() - .add(R.id.mainFragmentContainer, f) + .replace(R.id.mainFragmentContainer, f, tag) .commitNow() } }