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:
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")