Fixed migration for pin length. Fixed issue for change of current address on dashboard address page.

M committed Nov 6, 2020 at 15:12 UTC 8a55d566c69f991f7881cbf779cee5dabd5cf0f0
3 files changed +14 -4
lib/di.dart
+1 -1
@@ -157,7 +157,7 @@ Future setup(
157 });
158
159 getIt.registerFactory<WalletAddressListViewModel>(
160 - () => WalletAddressListViewModel(wallet: getIt.get<AppStore>().wallet));
160 + () => WalletAddressListViewModel(appStore: getIt.get<AppStore>()));
161
162 getIt.registerFactory(() => BalanceViewModel(
163 appStore: getIt.get<AppStore>(),
lib/entities/fs_migration.dart
+2 -1
@@ -8,6 +8,7 @@ import 'package:cake_wallet/entities/encrypt.dart';
8 import 'package:cake_wallet/entities/fiat_currency.dart';
9 import 'package:cake_wallet/entities/ios_legacy_helper.dart'
10 as ios_legacy_helper;
11 +import 'package:cake_wallet/entities/preferences_key.dart';
12 import 'package:cake_wallet/entities/secret_store_key.dart';
13 import 'package:cake_wallet/entities/wallet_info.dart';
14 import 'package:cake_wallet/entities/wallet_type.dart';
@@ -98,7 +99,7 @@ Future<void> ios_migrate_user_defaults() async {
99
100 //assign the pin lenght
101 final pinLength = await ios_legacy_helper.getInt('pin-length');
101 - await prefs.setInt('pin-length', pinLength);
102 + await prefs.setInt(PreferencesKey.currentPinLength, pinLength);
103
104 //default value for display list key?
105 final walletName = await ios_legacy_helper.getString('current_wallet_name');
lib/view_model/wallet_address_list/wallet_address_list_view_model.dart
+11 -2
@@ -1,3 +1,4 @@
1 +import 'package:cake_wallet/store/app_store.dart';
2 import 'package:flutter/foundation.dart';
3 import 'package:mobx/mobx.dart';
4 import 'package:cake_wallet/bitcoin/bitcoin_wallet.dart';
@@ -54,9 +55,12 @@ class BitcoinURI extends PaymentURI {
55 }
56
57 abstract class WalletAddressListViewModelBase with Store {
57 - WalletAddressListViewModelBase({@required WalletBase wallet}) {
58 + WalletAddressListViewModelBase(
59 + {@required AppStore appStore}) {
60 hasAccounts = _wallet is MoneroWallet;
59 - _wallet = wallet;
61 + _appStore = appStore;
62 + _wallet = _appStore.wallet;
63 + _onWalletChangeReaction = reaction((_) => _appStore.wallet, (WalletBase wallet) => _wallet = wallet);
64 _init();
65 }
66
@@ -111,10 +115,15 @@ abstract class WalletAddressListViewModelBase with Store {
115
116 bool hasAccounts;
117
118 + @observable
119 WalletBase _wallet;
120
121 List<ListItem> _baseItems;
122
123 + AppStore _appStore;
124 +
125 + ReactionDisposer _onWalletChangeReaction;
126 +
127 @computed
128 String get accountLabel {
129 final wallet = _wallet;