taler-android

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

commit 61b7f46ec6227debf22ea33f81bd0b5cf36efc77
parent 86aea3d3c938c39d47237f64e8bbdfa085feea13
Author: Iván Ávalos <avalos@disroot.org>
Date:   Mon, 15 Apr 2024 16:08:43 -0600

[wallet] Error handling for exchange key reloading

bug 0008298

Diffstat:
Mwallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt | 7+++++++
Mwallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt | 5++++-
2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt @@ -110,6 +110,13 @@ open class ExchangeListFragment : Fragment(), ExchangeClickListener { showError(error.userFacingMsg) } }) + exchangeManager.reloadError.observe(viewLifecycleOwner, EventObserver { error -> + if (model.devMode.value == true) { + showError(error) + } else { + showError(error.userFacingMsg) + } + }) } protected open fun onExchangeUpdate(exchanges: List<ExchangeItem>) { diff --git a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt @@ -62,6 +62,9 @@ class ExchangeManager( private val mDeleteError = MutableLiveData<Event<TalerErrorInfo>>() val deleteError: LiveData<Event<TalerErrorInfo>> = mDeleteError + private val mReloadError = MutableLiveData<Event<TalerErrorInfo>>() + val reloadError: LiveData<Event<TalerErrorInfo>> = mReloadError + var withdrawalExchange: ExchangeItem? = null private fun list(): LiveData<List<ExchangeItem>> { @@ -103,7 +106,7 @@ class ExchangeManager( }.onError { Log.e(TAG, "Error reloading exchange: $it") mProgress.value = false - mAddError.value = it.toEvent() + mReloadError.value = it.toEvent() }.onSuccess { mProgress.value = false Log.d(TAG, "Exchange $exchangeUrl reloaded")