updateConfiguration method

void updateConfiguration(
  1. FlutterCockpitConfiguration nextConfiguration
)

Implementation

void updateConfiguration(FlutterCockpitConfiguration nextConfiguration) {
  if (_isDisposed) {
    return;
  }

  final previousConfiguration = _configuration;
  final previousRuntimeObserverConfig =
      previousConfiguration.runtimeObserverConfiguration;
  final previousDiagnostics = previousConfiguration.diagnostics;

  final previousInitialRouteName = _normalizeConfiguredRouteName(
    previousConfiguration.initialRouteName,
  );
  final nextInitialRouteName = _normalizeConfiguredRouteName(
    nextConfiguration.initialRouteName,
  );
  if (currentRouteName.value == previousInitialRouteName &&
      nextInitialRouteName != currentRouteName.value) {
    _applyRouteName(nextInitialRouteName);
  }

  _reconfigureNetworkObserver(nextConfiguration);
  _reconfigureRuntimeObserver(
    previousConfig: previousRuntimeObserverConfig,
    nextConfiguration: nextConfiguration,
  );
  _reconfigureRebuildTracker(
    previousDiagnostics: previousDiagnostics,
    nextDiagnostics: nextConfiguration.diagnostics,
  );
  _reconfigureRuntimeReferences(nextConfiguration);

  _configuration = nextConfiguration.copyWith(
    registry: registry,
    nativeCapture: nativeCapture,
    nativeRecording: nativeRecording,
    sessionController: sessionController,
    networkObserver: networkObserver,
    runtimeObserver: runtimeObserver,
  );
}