initial commit
This commit is contained in:
44
lib/bootstrap.dart
Normal file
44
lib/bootstrap.dart
Normal file
@@ -0,0 +1,44 @@
|
||||
import 'dart:async';
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:bloc/bloc.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
import 'package:xiao_pet_tracker/app_router/app_router.dart';
|
||||
import 'package:xiao_pet_tracker/objectbox.dart';
|
||||
|
||||
final getIt = GetIt.instance;
|
||||
|
||||
class AppBlocObserver extends BlocObserver {
|
||||
const AppBlocObserver();
|
||||
|
||||
@override
|
||||
void onChange(BlocBase<dynamic> bloc, Change<dynamic> change) {
|
||||
super.onChange(bloc, change);
|
||||
log('onChange(${bloc.runtimeType}, $change)');
|
||||
}
|
||||
|
||||
@override
|
||||
void onError(BlocBase<dynamic> bloc, Object error, StackTrace stackTrace) {
|
||||
log('onError(${bloc.runtimeType}, $error, $stackTrace)');
|
||||
super.onError(bloc, error, stackTrace);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> bootstrap(FutureOr<Widget> Function() builder) async {
|
||||
FlutterError.onError = (details) {
|
||||
log(details.exceptionAsString(), stackTrace: details.stack);
|
||||
};
|
||||
|
||||
Bloc.observer = const AppBlocObserver();
|
||||
|
||||
// Add cross-flavor configuration here
|
||||
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
final AppRouter appRouter = getIt.registerSingleton(AppRouter());
|
||||
|
||||
final ObjectBox objectBox = getIt.registerSingleton(await ObjectBox.create());
|
||||
|
||||
runApp(await builder());
|
||||
}
|
||||
Reference in New Issue
Block a user