import 'package:firebase_analytics/firebase_analytics.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:get_it/get_it.dart'; import 'package:mathgame/src/ui/app/app.dart'; import 'package:mathgame/src/ui/app/theme_provider.dart'; import 'package:mathgame/src/ui/dashboard/dashboard_provider.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); if (kDebugMode) { await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(false); } final sharedPreferences = await SharedPreferences.getInstance(); FirebaseAnalytics firebaseAnalytics = FirebaseAnalytics.instance; FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError; setupServiceLocator(sharedPreferences); runApp( MultiProvider( providers: [ // Provider(create: (context) => sharedPreferences), ChangeNotifierProvider( create: (context) => ThemeProvider(sharedPreferences: sharedPreferences), ), ChangeNotifierProvider( create: (context) => GetIt.I.get(), ) ], child: MyApp( firebaseAnalytics: firebaseAnalytics, ), ), ); } setupServiceLocator(SharedPreferences sharedPreferences) { GetIt.I.registerSingleton( DashboardProvider(preferences: sharedPreferences)); }