CAKE-158 | added _onMoneroBalanceChangeReaction instead _onMoneroTransactionsChangeReaction in the dashboard_view_model.dart

OleksandrSobol committed Nov 20, 2020 at 18:27 UTC 5787bac65857e03218e2150d0368a93548117aa2
2 files changed +13 -10
lib/monero/monero_wallet.dart
+3 -2
@@ -367,17 +367,18 @@ abstract class MoneroWalletBase extends WalletBase<MoneroBalance> with Store {
367
368 void _onNewBlock(int height, int blocksLeft, double ptc) async {
369 if (walletInfo.isRecovery) {
370 - _askForUpdateTransactionHistory();
370 + await _askForUpdateTransactionHistory();
371 _askForUpdateBalance();
372 }
373
374 if (blocksLeft < 100) {
375 + await _askForUpdateTransactionHistory();
376 _askForUpdateBalance();
377 syncStatus = SyncedSyncStatus();
378 await _afterSyncSave();
379
380 if (walletInfo.isRecovery) {
380 - setAsRecovered();
381 + await setAsRecovered();
382 }
383 } else {
384 syncStatus = SyncingSyncStatus(blocksLeft, ptc);
lib/view_model/dashboard/dashboard_view_model.dart
+10 -8
@@ -2,7 +2,9 @@ import 'package:cake_wallet/bitcoin/bitcoin_transaction_info.dart';
2 import 'package:cake_wallet/bitcoin/bitcoin_wallet.dart';
3 import 'package:cake_wallet/entities/transaction_history.dart';
4 import 'package:cake_wallet/monero/account.dart';
5 +import 'package:cake_wallet/monero/monero_balance.dart';
6 import 'package:cake_wallet/monero/monero_transaction_history.dart';
7 +import 'package:cake_wallet/monero/monero_transaction_info.dart';
8 import 'package:cake_wallet/monero/monero_wallet.dart';
9 import 'package:cake_wallet/entities/balance_display_mode.dart';
10 import 'package:cake_wallet/entities/crypto_currency.dart';
@@ -87,9 +89,9 @@ abstract class DashboardViewModelBase with Store {
89 _onMoneroAccountChangeReaction = reaction((_) => _wallet.account,
90 (Account account) => _onMoneroAccountChange(_wallet));
91
90 - _onMoneroTransactionsChangeReaction = reaction((_) => _wallet.transactionHistory,
91 - (MoneroTransactionHistory transactionHistory) =>
92 - _onMoneroTransactionsUpdate(_wallet));
92 + _onMoneroBalanceChangeReaction = reaction((_) =>
93 + _wallet.balance, (MoneroBalance balance) =>
94 + _onMoneroTransactionsUpdate(_wallet));
95
96 final _accountTransactions = _wallet
97 .transactionHistory.transactions.values
@@ -193,7 +195,7 @@ abstract class DashboardViewModelBase with Store {
195
196 ReactionDisposer _onMoneroAccountChangeReaction;
197
196 - ReactionDisposer _onMoneroTransactionsChangeReaction;
198 + ReactionDisposer _onMoneroBalanceChangeReaction;
199
200 Future<void> reconnect() async {
201 final node = appStore.settingsStore.getCurrentNode(wallet.type);
@@ -209,14 +211,14 @@ abstract class DashboardViewModelBase with Store {
211 subname = wallet.account?.label;
212
213 _onMoneroAccountChangeReaction?.reaction?.dispose();
212 - _onMoneroTransactionsChangeReaction?.reaction?.dispose();
214 + _onMoneroBalanceChangeReaction?.reaction?.dispose();
215
216 _onMoneroAccountChangeReaction = reaction((_) => wallet.account,
217 (Account account) => _onMoneroAccountChange(wallet));
218
217 - _onMoneroTransactionsChangeReaction = reaction((_) => wallet.transactionHistory,
218 - (MoneroTransactionHistory transactionHistory) =>
219 - _onMoneroTransactionsUpdate(wallet));
219 + _onMoneroBalanceChangeReaction = reaction((_) =>
220 + wallet.balance, (MoneroBalance balance) =>
221 + _onMoneroTransactionsUpdate(wallet));
222
223 _onMoneroTransactionsUpdate(wallet);
224 } else {