diff --git a/lib/main.dart b/lib/main.dart index 06a97e881..e08324572 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -293,11 +293,11 @@ class _MaterialAppWithThemeState extends ConsumerState // TODO: this should probably run unawaited. Keep commented out for now as proper community nodes ui hasn't been implemented yet // unawaited(_nodeService.updateCommunityNodes()); + await ExchangeDataLoadingService.instance.initDB(); // run without awaiting if (ref.read(prefsChangeNotifierProvider).externalCalls && await ref.read(prefsChangeNotifierProvider).isExternalCallsSet()) { if (Constants.enableExchange) { - await ExchangeDataLoadingService.instance.init(); await ExchangeDataLoadingService.instance.setCurrenciesIfEmpty( ref.read(exchangeFormStateProvider), ); diff --git a/lib/pages/exchange_view/exchange_view.dart b/lib/pages/exchange_view/exchange_view.dart index d7a988574..61cf2fe94 100644 --- a/lib/pages/exchange_view/exchange_view.dart +++ b/lib/pages/exchange_view/exchange_view.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:isar/isar.dart'; +import 'package:stackwallet/db/isar/main_db.dart'; import 'package:stackwallet/models/isar/models/blockchain_data/transaction.dart'; import 'package:stackwallet/pages/exchange_view/exchange_form.dart'; import 'package:stackwallet/pages/exchange_view/trade_details_view.dart'; @@ -17,8 +18,6 @@ import 'package:stackwallet/widgets/custom_loading_overlay.dart'; import 'package:stackwallet/widgets/trade_card.dart'; import 'package:tuple/tuple.dart'; -import '../../db/isar/main_db.dart'; - class ExchangeView extends ConsumerStatefulWidget { const ExchangeView({Key? key}) : super(key: key); @@ -46,9 +45,7 @@ class _ExchangeViewState extends ConsumerState { }); }; } - ExchangeDataLoadingService.instance - .init() - .then((_) => ExchangeDataLoadingService.instance.loadAll()); + ExchangeDataLoadingService.instance.loadAll(); } else if (ExchangeDataLoadingService.instance.isLoading && ExchangeDataLoadingService.currentCacheVersion < ExchangeDataLoadingService.cacheVersion) { diff --git a/lib/pages/exchange_view/wallet_initiated_exchange_view.dart b/lib/pages/exchange_view/wallet_initiated_exchange_view.dart index c2fd2d092..3c726b702 100644 --- a/lib/pages/exchange_view/wallet_initiated_exchange_view.dart +++ b/lib/pages/exchange_view/wallet_initiated_exchange_view.dart @@ -62,9 +62,7 @@ class _WalletInitiatedExchangeViewState }); }; } - ExchangeDataLoadingService.instance - .init() - .then((_) => ExchangeDataLoadingService.instance.loadAll()); + ExchangeDataLoadingService.instance.loadAll(); } else if (ExchangeDataLoadingService.instance.isLoading && ExchangeDataLoadingService.currentCacheVersion < ExchangeDataLoadingService.cacheVersion) { diff --git a/lib/pages/stack_privacy_calls.dart b/lib/pages/stack_privacy_calls.dart index 7795b107a..16b4db86a 100644 --- a/lib/pages/stack_privacy_calls.dart +++ b/lib/pages/stack_privacy_calls.dart @@ -236,10 +236,7 @@ class _StackPrivacyCalls extends ConsumerState { if (isEasy) { unawaited( ExchangeDataLoadingService.instance - .init() - .then((_) => ExchangeDataLoadingService - .instance - .loadAll()), + .loadAll(), ); // unawaited( // BuyDataLoadingService().loadAll(ref)); diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart index 941acd719..6e39edd9b 100644 --- a/lib/pages/wallet_view/wallet_view.dart +++ b/lib/pages/wallet_view/wallet_view.dart @@ -284,12 +284,8 @@ class _WalletViewState extends ConsumerState { .tickerEqualToAnyExchangeNameName(coin.ticker) .findFirst(); } catch (_) { - _future = ExchangeDataLoadingService.instance - .init() - .then( - (_) => ExchangeDataLoadingService.instance.loadAll(), - ) - .then((_) => ExchangeDataLoadingService.instance.isar.currencies + _future = ExchangeDataLoadingService.instance.loadAll().then((_) => + ExchangeDataLoadingService.instance.isar.currencies .where() .tickerEqualToAnyExchangeNameName(coin.ticker) .findFirst()); diff --git a/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart b/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart index 6c09ecd60..17cd1c778 100644 --- a/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart +++ b/lib/pages_desktop_specific/desktop_exchange/desktop_exchange_view.dart @@ -46,9 +46,7 @@ class _DesktopExchangeViewState extends ConsumerState { }); }; } - ExchangeDataLoadingService.instance - .init() - .then((_) => ExchangeDataLoadingService.instance.loadAll()); + ExchangeDataLoadingService.instance.loadAll(); } else if (ExchangeDataLoadingService.instance.isLoading && ExchangeDataLoadingService.currentCacheVersion < ExchangeDataLoadingService.cacheVersion) { diff --git a/lib/services/exchange/exchange_data_loading_service.dart b/lib/services/exchange/exchange_data_loading_service.dart index 4eed07504..2da6016f4 100644 --- a/lib/services/exchange/exchange_data_loading_service.dart +++ b/lib/services/exchange/exchange_data_loading_service.dart @@ -40,8 +40,9 @@ class ExchangeDataLoadingService { ); } - Future init() async { - if (_isar != null && isar.isOpen) return; + Future initDB() async { + if (_isar != null) return; + await _isar?.close(); _isar = await Isar.open( [ CurrencySchema,