diff options
author | Iván Ávalos <avalos@disroot.org> | 2024-01-30 20:05:08 -0600 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2024-02-20 14:28:16 -0300 |
commit | e0feb34d9740e693b22f6301dfb1eefcb206c26e (patch) | |
tree | 42a858e68890a0fec2ae5f6c0c2b7a294f2ac8e7 /wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt | |
parent | ad029fcaafa447e040fb925cfc7e6f4b1dc565f6 (diff) | |
download | taler-android-e0feb34d9740e693b22f6301dfb1eefcb206c26e.tar.gz taler-android-e0feb34d9740e693b22f6301dfb1eefcb206c26e.tar.bz2 taler-android-e0feb34d9740e693b22f6301dfb1eefcb206c26e.zip |
[wallet] DD48: implement exchange deletion
bug 0008298
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt index 5d76885..eb01cab 100644 --- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt +++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeManager.kt @@ -59,6 +59,9 @@ class ExchangeManager( private val mListError = MutableLiveData<Event<TalerErrorInfo>>() val listError: LiveData<Event<TalerErrorInfo>> = mListError + private val mDeleteError = MutableLiveData<Event<TalerErrorInfo>>() + val deleteError: LiveData<Event<TalerErrorInfo>> = mDeleteError + var withdrawalExchange: ExchangeItem? = null private fun list(): LiveData<List<ExchangeItem>> { @@ -92,6 +95,22 @@ class ExchangeManager( } } + fun delete(exchangeUrl: String, purge: Boolean = false) = scope.launch { + mProgress.value = true + api.request<Unit>("deleteExchange") { + put("exchangeBaseUrl", exchangeUrl) + put("purge", purge) + }.onError { + Log.e(TAG, "Error deleting exchange: $it") + mProgress.value = false + mDeleteError.value = it.toEvent() + }.onSuccess { + mProgress.value = false + Log.d(TAG, "Exchange $exchangeUrl deleted") + list() + } + } + fun findExchangeForCurrency(currency: String): Flow<ExchangeItem?> = flow { emit(findExchange(currency)) } |