diff --git a/lib/main.dart b/lib/main.dart index cff07951456d6259c713b2c40209db7c76779cd4..28f58a42ebac720500f78ceb0c281cb3fde11f9b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -14,12 +14,8 @@ // along with this program. If not, see <https://www.gnu.org/licenses/>. import 'dart:async'; -import 'dart:io'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/chest_data.dart'; -import 'package:gecko/models/g1_wallets_list.dart'; -import 'package:gecko/models/wallet_data.dart'; import 'package:gecko/providers/chest_provider.dart'; import 'package:gecko/providers/duniter_indexer.dart'; import 'package:gecko/providers/generate_wallets.dart'; @@ -36,15 +32,13 @@ import 'package:flutter/material.dart'; import 'package:gecko/screens/myWallets/wallets_home.dart'; import 'package:gecko/screens/search.dart'; import 'package:gecko/screens/search_result.dart'; -import 'package:gecko/widgets/wallet_header.dart'; -import 'package:hive_flutter/hive_flutter.dart'; + import 'package:provider/provider.dart'; import 'package:flutter/foundation.dart'; import 'package:responsive_framework/responsive_framework.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:easy_localization/easy_localization.dart'; -import 'package:gecko/models/wallet_header_data.dart'; const bool enableSentry = true; @@ -59,30 +53,12 @@ Future<void> main() async { final homeProvider = HomeProvider(); // DuniterIndexer _duniterIndexer = DuniterIndexer(); + // Initialize Hive await initHiveForFlutter(); await homeProvider.initHive(); - configBox = await Hive.openBox("configBox"); appVersion = await homeProvider.getAppVersion(); - // Initialize Hive - await Hive.initFlutter(); - - // Register Hive adapters - Hive.registerAdapter(WalletHeaderDataAdapter()); - Hive.registerAdapter(BigIntAdapter()); - Hive.registerAdapter(WalletDataAdapter()); - Hive.registerAdapter(ChestDataAdapter()); - Hive.registerAdapter(G1WalletsListAdapter()); - Hive.registerAdapter(IdAdapter()); - Hive.registerAdapter(IdtyStatusAdapter()); - - // Open required boxes synchronously - chestBox = await Hive.openBox<ChestData>("chestBox"); - - // Initialize other boxes asynchronously - unawaited(WalletHeader.initializeBox()); - HttpOverrides.global = MyHttpOverrides(); if (kReleaseMode && enableSentry) { diff --git a/lib/providers/home.dart b/lib/providers/home.dart index 39dc3ac0eb9452229e8e3ca11eac46e6c4baeaf7..cc2aa39739d361563ce6e155f8c0a284391f512d 100644 --- a/lib/providers/home.dart +++ b/lib/providers/home.dart @@ -14,6 +14,11 @@ import 'package:path_provider/path_provider.dart' as pp; import 'package:package_info_plus/package_info_plus.dart'; import 'package:path_provider/path_provider.dart'; import 'package:provider/provider.dart'; +import 'package:gecko/models/chest_data.dart'; +import 'package:gecko/models/g1_wallets_list.dart'; +import 'package:gecko/models/wallet_data.dart'; +import 'package:gecko/widgets/wallet_header.dart'; +import 'package:gecko/models/wallet_header_data.dart'; class HomeProvider with ChangeNotifier { bool? isSearching; @@ -55,6 +60,22 @@ class HomeProvider with ChangeNotifier { if (!await avatarsDirectory.exists()) { await avatarsDirectory.create(); } + + // Register Hive adapters + Hive.registerAdapter(WalletHeaderDataAdapter()); + Hive.registerAdapter(BigIntAdapter()); + Hive.registerAdapter(WalletDataAdapter()); + Hive.registerAdapter(ChestDataAdapter()); + Hive.registerAdapter(G1WalletsListAdapter()); + Hive.registerAdapter(IdAdapter()); + Hive.registerAdapter(IdtyStatusAdapter()); + + // Open required boxes synchronously + chestBox = await Hive.openBox<ChestData>("chestBox"); + configBox = await Hive.openBox("configBox"); + + // Initialize other boxes asynchronously + unawaited(WalletHeader.initializeBox()); } Future changeCurrencyUnit(BuildContext context) async {