FlutterCockpitBinding constructor

FlutterCockpitBinding(
  1. FlutterCockpitConfiguration configuration
)

Implementation

FlutterCockpitBinding(FlutterCockpitConfiguration configuration)
  : _configuration = configuration,
    registry =
        configuration.registry ??
        CockpitTargetRegistry(routeName: configuration.initialRouteName),
    nativeCapture =
        configuration.nativeCapture ?? const CockpitNativeCapture(),
    nativeRecording =
        configuration.nativeRecording ?? const CockpitNativeRecording(),
    sessionController =
        configuration.sessionController ??
        CockpitSessionController(
          sessionId:
              'runtime-${DateTime.now().toUtc().microsecondsSinceEpoch}',
          taskId: 'runtime-session',
          platform: defaultTargetPlatform.name,
        ),
    networkObserver =
        configuration.networkObserver ??
        _buildHttpNetworkObserver(configuration.httpNetworkObserver),
    runtimeStepBuffer = CockpitRuntimeStepBuffer(),
    currentRouteName = ValueNotifier<String>(
      _normalizeConfiguredRouteName(configuration.initialRouteName),
    ) {
  rebuildTracker = configuration.diagnostics.enableRebuildTracking
      ? CockpitRebuildTracker(
          routeNameProvider: () => currentRouteName.value,
          maxTrackedEntries:
              configuration.diagnostics.maxTrackedRebuildEntries,
        )
      : null;
  runtimeObserver =
      configuration.runtimeObserver ??
      (configuration.runtimeObserverConfiguration.enabled
          ? configuration.runtimeObserverConfiguration.buildObserver(
              routeNameProvider: () => currentRouteName.value,
              onCriticalEvent: _recordCriticalRuntimeEvent,
            )
          : null);
  _installNetworkOverridesIfEnabled();
  navigatorObserver = _FlutterCockpitNavigatorObserver(_setRouteName);
  registry.routeName = _normalizeConfiguredRouteName(
    configuration.initialRouteName,
  );
}