addFlutter<TApp extends Widget> method

ServiceCollection addFlutter<TApp extends Widget>(
  1. TApp app, {
  2. FlutterLifetimeOptions? options,
  3. ConfigureAction? configure,
})

Adds required services for Flutter.

Implementation

ServiceCollection addFlutter<TApp extends Widget>(
  TApp app, {
  FlutterLifetimeOptions? options,
  ConfigureAction? configure,
}) {
  addOptions<FlutterLifetimeOptions>(
    () => options ?? FlutterLifetimeOptions(),
  );

  addSingleton<HostApplicationLifetime>(
    (services) => FlutterApplicationLifetime(
      services
          .getService<LoggerFactory>()!
          .createLogger('ApplicationLifetime'),
    ),
  );

  addSingleton<HostLifetime>(
    (sp) => FlutterLifetime<TApp>(
      app,
      sp.getRequiredService<Options<FlutterLifetimeOptions>>(),
      sp.getServices<FlutterAppBuilder>(),
      sp,
      sp.getRequiredService<HostEnvironment>(),
      sp.getRequiredService<ApplicationLifetime>(),
      sp.getRequiredService<LoggerFactory>(),
    ),
  );

  final builder = FlutterBuilder._(this)._useFlutterLifecycleObserver();

  if (configure != null) {
    configure(builder);
  }

  return this;
}