diff options
author | Torsten Grote <t@grobox.de> | 2020-10-13 09:42:22 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-10-13 09:42:22 -0300 |
commit | e9aae97e558c0f57479d5f827a0fc6b802bfee81 (patch) | |
tree | 17c23cf65e5d95c14af5eaf26faf3e822efb5db4 /wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt | |
parent | 44496bcedb1336b8169e10e4d4fcf9165edc194d (diff) | |
download | taler-android-e9aae97e558c0f57479d5f827a0fc6b802bfee81.tar.gz taler-android-e9aae97e558c0f57479d5f827a0fc6b802bfee81.tar.bz2 taler-android-e9aae97e558c0f57479d5f827a0fc6b802bfee81.zip |
[wallet] expose error message when withdrawing TESTKUDOS fails
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt index 5e11c04..5afb125 100644 --- a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt +++ b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt @@ -59,6 +59,12 @@ sealed class WithdrawStatus { data class Error(val message: String?) : WithdrawStatus() } +sealed class WithdrawTestStatus { + object Withdrawing : WithdrawTestStatus() + object Success : WithdrawTestStatus() + data class Error(val message: String) : WithdrawTestStatus() +} + @Serializable data class WithdrawalDetailsForUri( val amount: Amount, @@ -84,7 +90,7 @@ class WithdrawManager( ) { val withdrawStatus = MutableLiveData<WithdrawStatus>() - val testWithdrawalInProgress = MutableLiveData(false) + val testWithdrawalStatus = MutableLiveData<WithdrawTestStatus>() private val _exchangeSelection = MutableLiveData<Event<ExchangeSelection>>() val exchangeSelection: LiveData<Event<ExchangeSelection>> = _exchangeSelection @@ -92,11 +98,11 @@ class WithdrawManager( private set fun withdrawTestkudos() = scope.launch { - testWithdrawalInProgress.value = true + testWithdrawalStatus.value = WithdrawTestStatus.Withdrawing api.request<Unit>("withdrawTestkudos").onError { - testWithdrawalInProgress.postValue(false) + testWithdrawalStatus.value = WithdrawTestStatus.Error(it.userFacingMsg) }.onSuccess { - testWithdrawalInProgress.postValue(false) + testWithdrawalStatus.value = WithdrawTestStatus.Success } } |