fix settingsStore.reload
Robert Malikowski committed
May 26, 2026 at 20:10 UTC
c6f6832231cf859231a1c8e7c82210f3ccf9abf0
3 files changed
+38
-21
cw_core/lib/node.dart
+17
-1
@@ -155,10 +155,22 @@ class Node {
155
whereArgs: whereArgs.isNotEmpty ? whereArgs : null,
156
orderBy: orderBy,
157
);
158
- printV("selectList: $list");
158
return List.generate(list.length, (index) => Node.fromMap(list[index]));
159
}
160
161
+ static Future<Node?> select(String where, List<dynamic> whereArgs, {String? orderBy}) async {
162
+ if(orderBy == null) {
163
+ orderBy = selfIdColumn;
164
+ }
165
+ final list = await db!.query(
166
+ tableName,
167
+ where: where.isNotEmpty ? where : "1 = 1",
168
+ whereArgs: whereArgs.isNotEmpty ? whereArgs : null,
169
+ orderBy: orderBy,
170
+ );
171
+ return list.isEmpty ? null : Node.fromMap(list.first);
172
+ }
173
+
174
175
static Future<List<Node>> getAll() async {
176
return selectList("isPow = ?", [false]);
@@ -192,6 +204,10 @@ class Node {
204
return selectList("isPow = ?", [true]);
205
}
206
207
+ static Future<Node?> get(int id) async {
208
+ return select("id = ?", [id]);
209
+ }
210
+
211
212
int id;
213
late String uriRaw;
lib/store/settings_store.dart
+20
-19
@@ -1712,7 +1712,7 @@ abstract class SettingsStoreBase with Store {
1712
);
1713
}
1714
1715
- Future<void> reload({required Box<Node> nodeSource}) async {
1715
+ Future<void> reload() async {
1716
final sharedPreferences = await getIt.getAsync<SharedPreferences>();
1717
1718
fiatCurrency = FiatCurrency.deserialize(
@@ -1917,24 +1917,25 @@ abstract class SettingsStoreBase with Store {
1917
final zcashNodeId = sharedPreferences.getInt(PreferencesKey.currentZcashNodeIdKey);
1918
final decredNodeId = sharedPreferences.getInt(PreferencesKey.currentDecredNodeIdKey);
1919
final dogecoinNodeId = sharedPreferences.getInt(PreferencesKey.currentDogecoinNodeIdKey);
1920
- final moneroNode = nodeSource.get(nodeId);
1921
- final bitcoinElectrumServer = nodeSource.get(bitcoinElectrumServerId);
1922
- final litecoinElectrumServer = nodeSource.get(litecoinElectrumServerId);
1923
- final havenNode = nodeSource.get(havenNodeId);
1924
- final ethereumNode = nodeSource.get(ethereumNodeId);
1925
- final polygonNode = nodeSource.get(polygonNodeId);
1926
- final baseNode = nodeSource.get(baseNodeId);
1927
- final arbitrumNode = nodeSource.get(arbitrumNodeId);
1928
- final bscNode = nodeSource.get(bscNodeId);
1929
- final bitcoinCashNode = nodeSource.get(bitcoinCashElectrumServerId);
1930
- final nanoNode = nodeSource.get(nanoNodeId);
1931
- final solanaNode = nodeSource.get(solanaNodeId);
1932
- final tronNode = nodeSource.get(tronNodeId);
1933
- final wowneroNode = nodeSource.get(wowneroNodeId);
1934
- final zanoNode = nodeSource.get(zanoNodeId);
1935
- final zcashNode = nodeSource.get(zcashNodeId);
1936
- final decredNode = nodeSource.get(decredNodeId);
1937
- final dogecoinNode = nodeSource.get(dogecoinNodeId);
1920
+ final moneroNode = await Node.get(nodeId ?? -1);
1921
+ final bitcoinElectrumServer = await Node.get(bitcoinElectrumServerId ?? -1);
1922
+ final litecoinElectrumServer = await Node.get(litecoinElectrumServerId ?? -1);
1923
+ final havenNode = await Node.get(havenNodeId ?? -1);
1924
+ final ethereumNode = await Node.get(ethereumNodeId ?? -1);
1925
+ final polygonNode = await Node.get(polygonNodeId ?? -1);
1926
+ final baseNode = await Node.get(baseNodeId ?? -1);
1927
+ final arbitrumNode = await Node.get(arbitrumNodeId ?? -1);
1928
+ final bscNode = await Node.get(bscNodeId ?? -1);
1929
+ final bitcoinCashNode = await Node.get(bitcoinCashElectrumServerId ?? -1);
1930
+ final nanoNode = await Node.get(nanoNodeId ?? -1);
1931
+ final solanaNode = await Node.get(solanaNodeId ?? -1);
1932
+ final tronNode = await Node.get(tronNodeId ?? -1);
1933
+ final wowneroNode = await Node.get(wowneroNodeId ?? -1);
1934
+ final zanoNode = await Node.get(zanoNodeId ?? -1);
1935
+ final zcashNode = await Node.get(zcashNodeId ?? -1);
1936
+ final decredNode = await Node.get(decredNodeId ?? -1);
1937
+ final dogecoinNode = await Node.get(dogecoinNodeId ?? -1);
1938
+
1939
1940
if (moneroNode != null) {
1941
nodes[WalletType.monero] = moneroNode;
lib/view_model/restore_from_backup_view_model.dart
+1
-1
@@ -62,7 +62,7 @@ abstract class RestoreFromBackupViewModelBase with Store {
62
63
final store = getIt.get<AppStore>();
64
ReactionDisposer? reaction;
65
- //await store.settingsStore.reload(nodeSource: getIt.get<Box<Node>>());
65
+ await store.settingsStore.reload();
66
await store.themeStore.loadSavedTheme(isFromBackup: true);
67
reaction = autorun((_) {
68
final wallet = store.wallet;