From 89ded01f11806e63b8dea6771d6c0d1d4a7c03cd Mon Sep 17 00:00:00 2001
From: vjrj <vjrj@comunes.org>
Date: Sun, 2 Apr 2023 13:46:22 +0200
Subject: [PATCH] Reorder start up code. Use of PackageInfo for sending version
 to sentry

---
 lib/main.dart | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/lib/main.dart b/lib/main.dart
index 83b6dc89..1ee100cc 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -11,6 +11,7 @@ import 'package:hive_flutter/hive_flutter.dart';
 import 'package:hydrated_bloc/hydrated_bloc.dart';
 import 'package:introduction_screen/introduction_screen.dart';
 import 'package:once/once.dart';
+import 'package:package_info_plus/package_info_plus.dart';
 import 'package:path_provider/path_provider.dart';
 import 'package:responsive_framework/responsive_wrapper.dart';
 import 'package:responsive_framework/utils/scroll_behavior.dart';
@@ -39,7 +40,6 @@ void main() async {
   /// Initialize packages
   WidgetsFlutterBinding.ensureInitialized();
   await EasyLocalization.ensureInitialized();
-  Bloc.observer = AppBlocObserver();
 
   if (!kIsWeb && Platform.isAndroid) {
     await FlutterDisplayMode.setHighRefreshRate();
@@ -57,7 +57,8 @@ void main() async {
   assert(shared.getPubKey() != null);
 
   if (kIsWeb) {
-    await Hive.initFlutter();
+    // It seems is redundant
+    // await Hive.initFlutter();
     HydratedBloc.storage = await HydratedStorage.build(
         storageDirectory: HydratedStorage.webStorageDirectory);
   } else {
@@ -67,6 +68,8 @@ void main() async {
         await HydratedStorage.build(storageDirectory: tmpDir);
   }
 
+  Bloc.observer = AppBlocObserver();
+
   // Reset hive during developing
   if (!kReleaseMode) {
     // Once.clearAll();
@@ -98,13 +101,17 @@ void main() async {
             BlocProvider<ContactsCubit>(
                 create: (BuildContext context) => ContactsCubit()),
             BlocProvider<TransactionsCubit>(
-                create: (BuildContext context) => TransactionsCubit())
+                create: (BuildContext context) => TransactionsCubit()),
             // Add other BlocProviders here if needed
           ], child: const GinkgoApp()),
         ),
       );
 
-  final String version = getAppVersion();
+  final PackageInfo packageInfo = await PackageInfo.fromPlatform();
+
+  final String version = packageInfo.version;
+  logger('G1nkgo version: $version');
+
   if (kReleaseMode) {
     // Only use sentry in production
     await SentryFlutter.init((
-- 
GitLab