init cache db no matter what on startup

This commit is contained in:
julian-CStack 2023-04-18 07:56:14 -06:00
parent 9974f60b4c
commit 2ff27956d1
7 changed files with 11 additions and 24 deletions

View file

@ -293,11 +293,11 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
// TODO: this should probably run unawaited. Keep commented out for now as proper community nodes ui hasn't been implemented yet // TODO: this should probably run unawaited. Keep commented out for now as proper community nodes ui hasn't been implemented yet
// unawaited(_nodeService.updateCommunityNodes()); // unawaited(_nodeService.updateCommunityNodes());
await ExchangeDataLoadingService.instance.initDB();
// run without awaiting // run without awaiting
if (ref.read(prefsChangeNotifierProvider).externalCalls && if (ref.read(prefsChangeNotifierProvider).externalCalls &&
await ref.read(prefsChangeNotifierProvider).isExternalCallsSet()) { await ref.read(prefsChangeNotifierProvider).isExternalCallsSet()) {
if (Constants.enableExchange) { if (Constants.enableExchange) {
await ExchangeDataLoadingService.instance.init();
await ExchangeDataLoadingService.instance.setCurrenciesIfEmpty( await ExchangeDataLoadingService.instance.setCurrenciesIfEmpty(
ref.read(exchangeFormStateProvider), ref.read(exchangeFormStateProvider),
); );

View file

@ -3,6 +3,7 @@ import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:isar/isar.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/models/isar/models/blockchain_data/transaction.dart';
import 'package:stackwallet/pages/exchange_view/exchange_form.dart'; import 'package:stackwallet/pages/exchange_view/exchange_form.dart';
import 'package:stackwallet/pages/exchange_view/trade_details_view.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:stackwallet/widgets/trade_card.dart';
import 'package:tuple/tuple.dart'; import 'package:tuple/tuple.dart';
import '../../db/isar/main_db.dart';
class ExchangeView extends ConsumerStatefulWidget { class ExchangeView extends ConsumerStatefulWidget {
const ExchangeView({Key? key}) : super(key: key); const ExchangeView({Key? key}) : super(key: key);
@ -46,9 +45,7 @@ class _ExchangeViewState extends ConsumerState<ExchangeView> {
}); });
}; };
} }
ExchangeDataLoadingService.instance ExchangeDataLoadingService.instance.loadAll();
.init()
.then((_) => ExchangeDataLoadingService.instance.loadAll());
} else if (ExchangeDataLoadingService.instance.isLoading && } else if (ExchangeDataLoadingService.instance.isLoading &&
ExchangeDataLoadingService.currentCacheVersion < ExchangeDataLoadingService.currentCacheVersion <
ExchangeDataLoadingService.cacheVersion) { ExchangeDataLoadingService.cacheVersion) {

View file

@ -62,9 +62,7 @@ class _WalletInitiatedExchangeViewState
}); });
}; };
} }
ExchangeDataLoadingService.instance ExchangeDataLoadingService.instance.loadAll();
.init()
.then((_) => ExchangeDataLoadingService.instance.loadAll());
} else if (ExchangeDataLoadingService.instance.isLoading && } else if (ExchangeDataLoadingService.instance.isLoading &&
ExchangeDataLoadingService.currentCacheVersion < ExchangeDataLoadingService.currentCacheVersion <
ExchangeDataLoadingService.cacheVersion) { ExchangeDataLoadingService.cacheVersion) {

View file

@ -236,10 +236,7 @@ class _StackPrivacyCalls extends ConsumerState<StackPrivacyCalls> {
if (isEasy) { if (isEasy) {
unawaited( unawaited(
ExchangeDataLoadingService.instance ExchangeDataLoadingService.instance
.init() .loadAll(),
.then((_) => ExchangeDataLoadingService
.instance
.loadAll()),
); );
// unawaited( // unawaited(
// BuyDataLoadingService().loadAll(ref)); // BuyDataLoadingService().loadAll(ref));

View file

@ -284,12 +284,8 @@ class _WalletViewState extends ConsumerState<WalletView> {
.tickerEqualToAnyExchangeNameName(coin.ticker) .tickerEqualToAnyExchangeNameName(coin.ticker)
.findFirst(); .findFirst();
} catch (_) { } catch (_) {
_future = ExchangeDataLoadingService.instance _future = ExchangeDataLoadingService.instance.loadAll().then((_) =>
.init() ExchangeDataLoadingService.instance.isar.currencies
.then(
(_) => ExchangeDataLoadingService.instance.loadAll(),
)
.then((_) => ExchangeDataLoadingService.instance.isar.currencies
.where() .where()
.tickerEqualToAnyExchangeNameName(coin.ticker) .tickerEqualToAnyExchangeNameName(coin.ticker)
.findFirst()); .findFirst());

View file

@ -46,9 +46,7 @@ class _DesktopExchangeViewState extends ConsumerState<DesktopExchangeView> {
}); });
}; };
} }
ExchangeDataLoadingService.instance ExchangeDataLoadingService.instance.loadAll();
.init()
.then((_) => ExchangeDataLoadingService.instance.loadAll());
} else if (ExchangeDataLoadingService.instance.isLoading && } else if (ExchangeDataLoadingService.instance.isLoading &&
ExchangeDataLoadingService.currentCacheVersion < ExchangeDataLoadingService.currentCacheVersion <
ExchangeDataLoadingService.cacheVersion) { ExchangeDataLoadingService.cacheVersion) {

View file

@ -40,8 +40,9 @@ class ExchangeDataLoadingService {
); );
} }
Future<void> init() async { Future<void> initDB() async {
if (_isar != null && isar.isOpen) return; if (_isar != null) return;
await _isar?.close();
_isar = await Isar.open( _isar = await Isar.open(
[ [
CurrencySchema, CurrencySchema,