diff --git a/lib/app/app.dart b/lib/app/app.dart index f865b1c..9b05650 100644 --- a/lib/app/app.dart +++ b/lib/app/app.dart @@ -13,9 +13,9 @@ final List providers = [ // Framework Service Providers FirebaseServiceProvider(), AppServiceProvider(), + CacheServiceProvider(), AuthServiceProvider(), ApiServiceProvider(), - CacheServiceProvider(), AnalyticsServiceProvider(), NotificationsServiceProvider(), diff --git a/lib/app/app_run_tasks.dart b/lib/app/app_run_tasks.dart index cb5b5c7..e9140fd 100644 --- a/lib/app/app_run_tasks.dart +++ b/lib/app/app_run_tasks.dart @@ -9,6 +9,7 @@ import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:flutter/material.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:flutter_native_splash/flutter_native_splash.dart'; +import 'package:shared_preferences/shared_preferences.dart'; import 'package:universal_platform/universal_platform.dart'; class RunAppTasks extends RunTasks { diff --git a/lib/app/injection_container.dart b/lib/app/injection_container.dart deleted file mode 100644 index 11ef2d2..0000000 --- a/lib/app/injection_container.dart +++ /dev/null @@ -1,10 +0,0 @@ -import 'package:bond_core/bond_core.dart' as core; - -import 'app.dart'; - -Future init() async { - for (var provider in providers) { - await provider.register(core.sl); - } - core.appProviders = providers; -} diff --git a/lib/main.dart b/lib/main.dart index f3ca29c..32f9b27 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -3,15 +3,20 @@ import 'package:bond_core/bond_core.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'app/app.dart'; import 'app/app_run_tasks.dart'; import 'bond_app.dart'; -void main() => run( - () => ProviderScope( - child: BlocProvider( - create: (context) => sl(), - child: const BondApp(), - ), +void main() async { + final runAppTasks = RunAppTasks(providers); + await runAppTasks(); + run( + () => ProviderScope( + child: BlocProvider( + create: (context) => sl(), + child: const BondApp(), ), - RunAppTasks(appProviders), - ); + ), + runAppTasks, + ); +} diff --git a/lib/providers/app_service_provider.dart b/lib/providers/app_service_provider.dart index 5ba423e..78b1926 100644 --- a/lib/providers/app_service_provider.dart +++ b/lib/providers/app_service_provider.dart @@ -1,9 +1,10 @@ -import 'package:bond/features/update_app/data/update_app_service.dart'; import 'package:bond/features/app/app_bloc.dart'; import 'package:bond/features/app/data/app_local_data_source.dart'; +import 'package:bond/features/update_app/data/update_app_service.dart'; +import 'package:bond_core/bond_core.dart'; +import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:get_it/get_it.dart'; -import 'package:bond_core/bond_core.dart'; import 'package:shared_preferences/shared_preferences.dart'; class AppServiceProvider extends ServiceProvider { diff --git a/lib/providers/firebase_service_provider.dart b/lib/providers/firebase_service_provider.dart index 99a5119..7e27eaf 100644 --- a/lib/providers/firebase_service_provider.dart +++ b/lib/providers/firebase_service_provider.dart @@ -1,15 +1,17 @@ import 'package:bond/app/default_firebase_options.dart'; import 'package:bond/features/update_app/data/models/update_app_default_value.dart'; +import 'package:bond_core/bond_core.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_remote_config/firebase_remote_config.dart'; import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; import 'package:get_it/get_it.dart'; -import 'package:bond_core/bond_core.dart'; import 'package:package_info_plus/package_info_plus.dart'; class FirebaseServiceProvider extends ServiceProvider { @override Future register(GetIt it) async { + WidgetsFlutterBinding.ensureInitialized(); final packageInfo = await PackageInfo.fromPlatform(); it.registerSingleton(packageInfo); final firebaseApp = await Firebase.initializeApp(