commit 84a3de230a94c624d1cec35b4d04c70de4d7be3d
parent f5406ca7bc145b406f59fc657cf15c9ae589e1ef
Author: Iván Ávalos <avalos@disroot.org>
Date: Thu, 21 Nov 2024 13:15:05 +0100
[android] QC: update balances after importing DB
Diffstat:
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/wallet/src/main/java/net/taler/wallet/MainViewModel.kt b/wallet/src/main/java/net/taler/wallet/MainViewModel.kt
@@ -120,7 +120,7 @@ class MainViewModel(
val exchangeManager: ExchangeManager = ExchangeManager(api, viewModelScope)
val withdrawManager = WithdrawManager(api, viewModelScope, exchangeManager)
val peerManager: PeerManager = PeerManager(api, exchangeManager, viewModelScope)
- val settingsManager: SettingsManager = SettingsManager(app.applicationContext, api, viewModelScope)
+ val settingsManager: SettingsManager = SettingsManager(app.applicationContext, api, viewModelScope, balanceManager)
val accountManager: AccountManager = AccountManager(api, viewModelScope)
val depositManager: DepositManager = DepositManager(api, viewModelScope)
diff --git a/wallet/src/main/java/net/taler/wallet/settings/SettingsManager.kt b/wallet/src/main/java/net/taler/wallet/settings/SettingsManager.kt
@@ -31,12 +31,14 @@ import net.taler.wallet.R
import net.taler.wallet.backend.WalletBackendApi
import net.taler.wallet.backend.WalletResponse.Error
import net.taler.wallet.backend.WalletResponse.Success
+import net.taler.wallet.balances.BalanceManager
import org.json.JSONObject
class SettingsManager(
private val context: Context,
private val api: WalletBackendApi,
private val scope: CoroutineScope,
+ private val balanceManager: BalanceManager,
) {
fun exportLogcat(uri: Uri?) {
if (uri == null) {
@@ -123,6 +125,7 @@ class SettingsManager(
is Success -> {
withContext(Dispatchers.Main) {
Toast.makeText(context, R.string.settings_db_import_success, LENGTH_LONG).show()
+ balanceManager.loadBalances()
}
}
is Error -> {
@@ -147,7 +150,10 @@ class SettingsManager(
fun clearDb(onSuccess: () -> Unit) {
scope.launch {
when (val response = api.rawRequest("clearDb")) {
- is Success -> onSuccess()
+ is Success -> {
+ onSuccess()
+ balanceManager.resetBalances()
+ }
is Error -> {
Log.e(SettingsManager::class.simpleName, "Error cleaning db: ${response.error}")
onDbClearError()