From 2d6eb0e6c09bfa04ba5d7d6e3da9a82c16a20462 Mon Sep 17 00:00:00 2001 From: Polina Date: Thu, 24 Feb 2022 10:43:09 -0800 Subject: [PATCH 1/6] ns --- .../lib/src/service/service_manager.dart | 121 +++++++++--------- .../lib/src/shared/connected_app.dart | 2 +- .../lib/src/shared/console_service.dart | 4 +- .../devtools_app/lib/src/shared/scaffold.dart | 2 +- 4 files changed, 64 insertions(+), 65 deletions(-) diff --git a/packages/devtools_app/lib/src/service/service_manager.dart b/packages/devtools_app/lib/src/service/service_manager.dart index 9ea04976d98..5f70de7ef23 100644 --- a/packages/devtools_app/lib/src/service/service_manager.dart +++ b/packages/devtools_app/lib/src/service/service_manager.dart @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart=2.9 +// ignore_for_file: import_of_legacy_library_into_null_safe import 'dart:async'; import 'dart:core'; @@ -44,8 +44,8 @@ class ServiceConnectionManager { _serviceExtensionManager = ServiceExtensionManager(isolateManager); } - final StreamController _connectionAvailableController = - StreamController.broadcast(); + final StreamController _connectionAvailableController = + StreamController.broadcast(); Completer _serviceAvailable = Completer(); @@ -53,23 +53,23 @@ class ServiceConnectionManager { bool get isServiceAvailable => _serviceAvailable.isCompleted; - VmServiceCapabilities _serviceCapabilities; - VmServiceTrafficLogger serviceTrafficLogger; + VmServiceCapabilities? _serviceCapabilities; + VmServiceTrafficLogger? serviceTrafficLogger; - Future get serviceCapabilities async { + Future get serviceCapabilities async { if (_serviceCapabilities == null) { await _serviceAvailable.future; - final version = await service.getVersion(); + final version = await service!.getVersion(); _serviceCapabilities = VmServiceCapabilities(version); } return _serviceCapabilities; } - final _registeredServiceNotifiers = >{}; + final _registeredServiceNotifiers = >{}; - Map> get registeredMethodsForService => + Map> get registeredMethodsForService => _registeredMethodsForService; - final Map> _registeredMethodsForService = {}; + final Map> _registeredMethodsForService = {}; final vmFlagManager = VmFlagManager(); @@ -79,33 +79,33 @@ class ServiceConnectionManager { final consoleService = ConsoleService(); - InspectorServiceBase get inspectorService => _inspectorService; - InspectorServiceBase _inspectorService; + InspectorServiceBase? get inspectorService => _inspectorService; + InspectorServiceBase? _inspectorService; ErrorBadgeManager get errorBadgeManager => _errorBadgeManager; final _errorBadgeManager = ErrorBadgeManager(); - ServiceExtensionManager get serviceExtensionManager => + ServiceExtensionManager? get serviceExtensionManager => _serviceExtensionManager; - ServiceExtensionManager _serviceExtensionManager; + ServiceExtensionManager? _serviceExtensionManager; - ConnectedApp connectedApp; + ConnectedApp? connectedApp; - VmServiceWrapper service; - VM vm; - String sdkVersion; + VmServiceWrapper? service; + VM? vm; + String? sdkVersion; bool get hasConnection => service != null && connectedApp != null; bool get connectedAppInitialized => - hasConnection && connectedApp.connectedAppInitialized; + hasConnection && connectedApp!.connectedAppInitialized; ValueListenable get connectedState => _connectedState; final ValueNotifier _connectedState = ValueNotifier(const ConnectedState(false)); - Stream get onConnectionAvailable => + Stream get onConnectionAvailable => _connectionAvailableController.stream; Stream get onConnectionClosed => _connectionClosedController.stream; @@ -136,18 +136,17 @@ class ServiceConnectionManager { /// Call a service that is registered by exactly one client. Future callService( String name, { - String isolateId, - Map args, + String? isolateId, + Map? args, }) async { final registered = _registeredMethodsForService[name] ?? const []; if (registered.isEmpty) { throw Exception('There are no registered methods for service "$name"'); } - assert(isolateId != null); - return service.callMethod( - registered.first, + return service!.callMethod( + registered.first!, isolateId: isolateId, - args: args, + args: args as Map?, ); } @@ -160,15 +159,15 @@ class ServiceConnectionManager { } Future vmServiceOpened( - VmServiceWrapper service, { - @required Future onClosed, + VmServiceWrapper? service, { + required Future onClosed, }) async { if (service == this.service) { // Service already opened. return; } this.service = service; - await service.initServiceVersions(); + await service!.initServiceVersions(); if (_serviceAvailable.isCompleted) { _serviceAvailable = Completer(); } @@ -179,9 +178,9 @@ class ServiceConnectionManager { // race conditions where managers cannot listen for events soon enough. isolateManager.vmServiceOpened(service); consoleService.vmServiceOpened(service); - serviceExtensionManager.vmServiceOpened(service, connectedApp); + serviceExtensionManager!.vmServiceOpened(service, connectedApp); await vmFlagManager.vmServiceOpened(service); - await timelineStreamManager.vmServiceOpened(service, connectedApp); + await timelineStreamManager.vmServiceOpened(service, connectedApp!); // This needs to be called last in the above group of `vmServiceOpened` // calls. errorBadgeManager.vmServiceOpened(service); @@ -204,9 +203,9 @@ class ServiceConnectionManager { // A different service has been opened. return; } - sdkVersion = vm.version; - if (sdkVersion.contains(' ')) { - sdkVersion = sdkVersion.substring(0, sdkVersion.indexOf(' ')); + sdkVersion = vm!.version; + if (sdkVersion!.contains(' ')) { + sdkVersion = sdkVersion!.substring(0, sdkVersion!.indexOf(' ')); } if (_serviceAvailable.isCompleted) { @@ -280,8 +279,8 @@ class ServiceConnectionManager { _connectedState.value = const ConnectedState(true); final isolates = [ - ...vm.isolates, - if (preferences.vmDeveloperModeEnabled.value) ...vm.systemIsolates, + ...vm!.isolates!, + if (preferences.vmDeveloperModeEnabled.value) ...vm!.systemIsolates!, ]; await isolateManager.init(isolates); @@ -292,7 +291,7 @@ class ServiceConnectionManager { // This needs to be called before calling // `ga.setupUserApplicationDimensions()`. - await connectedApp.initializeValues(); + await connectedApp!.initializeValues(); if (service != this.service) { // A different service has been opened. return; @@ -330,7 +329,7 @@ class ServiceConnectionManager { vmFlagManager.vmServiceClosed(); timelineStreamManager.vmServiceClosed(); - serviceExtensionManager.vmServiceClosed(); + serviceExtensionManager!.vmServiceClosed(); serviceTrafficLogger?.dispose(); @@ -348,14 +347,14 @@ class ServiceConnectionManager { /// This can throw an [RPCError]. Future performHotReload() async { - return await _callServiceOnMainIsolate( + await _callServiceOnMainIsolate( registrations.hotReload.service, ); } /// This can throw an [RPCError]. Future performHotRestart() async { - return await _callServiceOnMainIsolate( + await _callServiceOnMainIsolate( registrations.hotRestart.service, ); } @@ -367,11 +366,11 @@ class ServiceConnectionManager { } Future sendDwdsEvent({ - @required String screen, - @required String action, + required String screen, + required String action, }) async { if (!kIsWeb) return; - return await _callServiceExtensionOnMainIsolate(registrations.dwdsSendEvent, + await _callServiceExtensionOnMainIsolate(registrations.dwdsSendEvent, args: { 'type': 'DevtoolsEvent', 'payload': { @@ -383,16 +382,16 @@ class ServiceConnectionManager { Future _callServiceOnMainIsolate(String name) async { final isolate = await whenValueNonNull(isolateManager.mainIsolate); - return await callService(name, isolateId: isolate.id); + return await callService(name, isolateId: isolate.id!); } Future _callServiceExtensionOnMainIsolate( String method, { - Map args, + Map? args, }) async { final isolate = await whenValueNonNull(isolateManager.mainIsolate); - return await service.callServiceExtension( + return await service!.callServiceExtension( method, args: args, isolateId: isolate.id, @@ -407,11 +406,11 @@ class ServiceConnectionManager { /// @returns view id of selected isolate's 'FlutterView'. /// @throws Exception if no 'FlutterView'. - Future get flutterViewId async { + Future get flutterViewId async { final flutterViewListResponse = await _callServiceExtensionOnMainIsolate( registrations.flutterListViews); final List views = - flutterViewListResponse.json['views'].cast>(); + flutterViewListResponse.json!['views'].cast>(); // Each isolate should only have one FlutterView. final flutterView = views.firstWhere( @@ -435,8 +434,8 @@ class ServiceConnectionManager { /// Call to returns JSON payload 'EstimateRasterCacheMemory' with two entries: /// layerBytes - layer raster cache entries in bytes /// pictureBytes - picture raster cache entries in bytes - Future get rasterCacheMetrics async { - if (connectedApp == null || !await connectedApp.isFlutterApp) { + Future get rasterCacheMetrics async { + if (connectedApp == null || !await connectedApp!.isFlutterApp) { return null; } @@ -444,14 +443,14 @@ class ServiceConnectionManager { return await _callServiceExtensionOnMainIsolate( registrations.flutterEngineEstimateRasterCache, - args: { + args: { 'viewId': viewId, }, ); } - Future get queryDisplayRefreshRate async { - if (connectedApp == null || !await connectedApp.isFlutterApp) { + Future get queryDisplayRefreshRate async { + if (connectedApp == null || !await connectedApp!.isFlutterApp) { return null; } @@ -462,7 +461,7 @@ class ServiceConnectionManager { registrations.displayRefreshRate, args: {'viewId': viewId}, ); - final double fps = displayRefreshRateResponse.json['fps']; + final double? fps = displayRefreshRateResponse.json!['fps']; // The Flutter engine returns 0.0 if the refresh rate is unknown. Return // [defaultRefreshRate] instead. @@ -470,18 +469,18 @@ class ServiceConnectionManager { return defaultRefreshRate; } - return fps.roundToDouble(); + return fps!.roundToDouble(); } - bool libraryUriAvailableNow(String uri) { + bool libraryUriAvailableNow(String? uri) { + if (uri == null) return false; assert(_serviceAvailable.isCompleted); assert(serviceManager.isolateManager.mainIsolate.value != null); - final isolate = isolateManager.mainIsolateDebuggerState.isolateNow; - assert(isolate != null); - return isolate.libraries + final isolate = isolateManager.mainIsolateDebuggerState!.isolateNow!; + return isolate.libraries! .map((ref) => ref.uri) .toList() - .any((u) => u.startsWith(uri)); + .any((u) => u!.startsWith(uri)); } Future libraryUriAvailable(String uri) async { @@ -497,7 +496,7 @@ class VmServiceCapabilities { final Version version; bool get supportsGetScripts => - version.major > 3 || (version.major == 3 && version.minor >= 12); + version.major! > 3 || (version.major == 3 && version.minor! >= 12); } class ConnectedState { diff --git a/packages/devtools_app/lib/src/shared/connected_app.dart b/packages/devtools_app/lib/src/shared/connected_app.dart index 6c393049a89..c23f04e71fc 100644 --- a/packages/devtools_app/lib/src/shared/connected_app.dart +++ b/packages/devtools_app/lib/src/shared/connected_app.dart @@ -96,7 +96,7 @@ class ConnectedApp { } // If eval works we're not a profile build. - final io = EvalOnDartLibrary('dart:io', serviceManager.service); + final io = EvalOnDartLibrary('dart:io', serviceManager.service!); // Do not log the error if this eval fails - we expect it to fail for a // profile build. final value = await io.eval( diff --git a/packages/devtools_app/lib/src/shared/console_service.dart b/packages/devtools_app/lib/src/shared/console_service.dart index 1c7140c98d5..5cf873301d9 100644 --- a/packages/devtools_app/lib/src/shared/console_service.dart +++ b/packages/devtools_app/lib/src/shared/console_service.dart @@ -101,7 +101,7 @@ class ConsoleService extends Disposer { bool _stdioTrailingNewline = false; ObjectGroupBase? get objectGroup { - final inspectorService = serviceManager.inspectorService; + final inspectorService = serviceManager.inspectorService!; if (_objectGroup?.inspectorService == inspectorService) { return _objectGroup; } @@ -231,7 +231,7 @@ class ConsoleService extends Disposer { void _handleExtensionEvent(Event e) async { if (e.extensionKind == 'Flutter.Error' || e.extensionKind == 'Flutter.Print') { - if (serviceManager.connectedApp.isProfileBuildNow != true) { + if (serviceManager.connectedApp?.isProfileBuildNow != true) { // The app isn't a debug build. return; } diff --git a/packages/devtools_app/lib/src/shared/scaffold.dart b/packages/devtools_app/lib/src/shared/scaffold.dart index 5b0590a0ad2..5a8cdc02f98 100644 --- a/packages/devtools_app/lib/src/shared/scaffold.dart +++ b/packages/devtools_app/lib/src/shared/scaffold.dart @@ -142,7 +142,7 @@ class DevToolsScaffoldState extends State if (isExternalBuild) return; if (_internalFlutterWebWarningShown) return; - serviceManager.onConnectionAvailable?.listen((_) { + serviceManager.onConnectionAvailable.listen((_) { if (serviceManager.connectedApp!.isFlutterWebAppNow) { _showWarning(const InternalFlutterWebWarningText()); _internalFlutterWebWarningShown = true; From 5b3d22185acba2c660c82aad9d628b8616890886 Mon Sep 17 00:00:00 2001 From: Polina Date: Thu, 24 Feb 2022 11:30:45 -0800 Subject: [PATCH 2/6] Update service_manager.dart --- .../lib/src/service/service_manager.dart | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/devtools_app/lib/src/service/service_manager.dart b/packages/devtools_app/lib/src/service/service_manager.dart index 5f70de7ef23..02ba6051c9a 100644 --- a/packages/devtools_app/lib/src/service/service_manager.dart +++ b/packages/devtools_app/lib/src/service/service_manager.dart @@ -204,7 +204,7 @@ class ServiceConnectionManager { return; } sdkVersion = vm!.version; - if (sdkVersion!.contains(' ')) { + if (sdkVersion?.contains(' ') == true) { sdkVersion = sdkVersion!.substring(0, sdkVersion!.indexOf(' ')); } @@ -279,8 +279,8 @@ class ServiceConnectionManager { _connectedState.value = const ConnectedState(true); final isolates = [ - ...vm!.isolates!, - if (preferences.vmDeveloperModeEnabled.value) ...vm!.systemIsolates!, + ...vm?.isolates ?? [], + if (preferences.vmDeveloperModeEnabled.value) ...vm?.systemIsolates ?? [], ]; await isolateManager.init(isolates); @@ -406,7 +406,7 @@ class ServiceConnectionManager { /// @returns view id of selected isolate's 'FlutterView'. /// @throws Exception if no 'FlutterView'. - Future get flutterViewId async { + Future get flutterViewId async { final flutterViewListResponse = await _callServiceExtensionOnMainIsolate( registrations.flutterListViews); final List views = @@ -477,10 +477,10 @@ class ServiceConnectionManager { assert(_serviceAvailable.isCompleted); assert(serviceManager.isolateManager.mainIsolate.value != null); final isolate = isolateManager.mainIsolateDebuggerState!.isolateNow!; - return isolate.libraries! + return (isolate.libraries ?? []) .map((ref) => ref.uri) .toList() - .any((u) => u!.startsWith(uri)); + .any((u) => u?.startsWith(uri) == true); } Future libraryUriAvailable(String uri) async { From f1f7aecf5230bce3d390fa9092fc645c46e5accb Mon Sep 17 00:00:00 2001 From: Polina Date: Thu, 24 Feb 2022 11:39:20 -0800 Subject: [PATCH 3/6] ns --- packages/devtools_app/lib/src/service/service.dart | 6 +++--- packages/devtools_app/lib/src/service/service_manager.dart | 2 +- packages/devtools_app/lib/src/shared/server_api_client.dart | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/devtools_app/lib/src/service/service.dart b/packages/devtools_app/lib/src/service/service.dart index 79f7f933207..fbd4cf1a8d4 100644 --- a/packages/devtools_app/lib/src/service/service.dart +++ b/packages/devtools_app/lib/src/service/service.dart @@ -24,14 +24,14 @@ Future _connectWithSse( : uri.replace(scheme: 'https'); final client = SseClient('$uri'); final Stream? stream = - client.stream?.asBroadcastStream() as Stream?; + client.stream.asBroadcastStream() as Stream?; final service = VmServiceWrapper.fromNewVmService( stream, - client.sink!.add, + client.sink.add, uri, ); - unawaited(client.sink?.done.whenComplete(() { + unawaited(client.sink.done.whenComplete(() { finishedCompleter.complete(); service.dispose(); })); diff --git a/packages/devtools_app/lib/src/service/service_manager.dart b/packages/devtools_app/lib/src/service/service_manager.dart index 02ba6051c9a..f7c5f11ae01 100644 --- a/packages/devtools_app/lib/src/service/service_manager.dart +++ b/packages/devtools_app/lib/src/service/service_manager.dart @@ -278,7 +278,7 @@ class ServiceConnectionManager { _connectedState.value = const ConnectedState(true); - final isolates = [ + final List isolates = [ ...vm?.isolates ?? [], if (preferences.vmDeveloperModeEnabled.value) ...vm?.systemIsolates ?? [], ]; diff --git a/packages/devtools_app/lib/src/shared/server_api_client.dart b/packages/devtools_app/lib/src/shared/server_api_client.dart index 592ba2b24c7..ea2b6d5245c 100644 --- a/packages/devtools_app/lib/src/shared/server_api_client.dart +++ b/packages/devtools_app/lib/src/shared/server_api_client.dart @@ -21,7 +21,7 @@ import 'globals.dart'; /// See `package:dds/src/devtools/client.dart`. class DevToolsServerConnection { DevToolsServerConnection._(this.sseClient) { - sseClient.stream!.listen((msg) { + sseClient.stream.listen((msg) { _handleMessage(msg); }); initFrameworkController(); @@ -125,7 +125,7 @@ class DevToolsServerConnection { }); final completer = Completer(); _completers[id] = completer; - sseClient.sink!.add(json); + sseClient.sink.add(json); return completer.future; } From dc643890a4f137d92be68d90fc9ab39c3403f3db Mon Sep 17 00:00:00 2001 From: Polina Date: Thu, 24 Feb 2022 12:20:02 -0800 Subject: [PATCH 4/6] Update framework_controller.dart --- packages/devtools_app/lib/src/shared/framework_controller.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/devtools_app/lib/src/shared/framework_controller.dart b/packages/devtools_app/lib/src/shared/framework_controller.dart index 7e2609d029b..1a4ad5738af 100644 --- a/packages/devtools_app/lib/src/shared/framework_controller.dart +++ b/packages/devtools_app/lib/src/shared/framework_controller.dart @@ -66,7 +66,7 @@ class FrameworkController { serviceManager.connectedState.addListener(() { final connectionState = serviceManager.connectedState.value; if (connectionState.connected) { - _connectedController.add(serviceManager.service.connectedUri); + _connectedController.add(serviceManager.service!.connectedUri); } else { _disconnectedController.add(null); } From 7604f5533e7e8c3813b58fa6ad67554f9de92de4 Mon Sep 17 00:00:00 2001 From: Polina Date: Thu, 24 Feb 2022 14:17:45 -0800 Subject: [PATCH 5/6] ns --- .../lib/src/service/service_manager.dart | 38 +++++++++---------- .../lib/src/shared/error_badge_manager.dart | 2 +- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/devtools_app/lib/src/service/service_manager.dart b/packages/devtools_app/lib/src/service/service_manager.dart index f7c5f11ae01..eca64f2a356 100644 --- a/packages/devtools_app/lib/src/service/service_manager.dart +++ b/packages/devtools_app/lib/src/service/service_manager.dart @@ -56,20 +56,20 @@ class ServiceConnectionManager { VmServiceCapabilities? _serviceCapabilities; VmServiceTrafficLogger? serviceTrafficLogger; - Future get serviceCapabilities async { + Future get serviceCapabilities async { if (_serviceCapabilities == null) { await _serviceAvailable.future; final version = await service!.getVersion(); _serviceCapabilities = VmServiceCapabilities(version); } - return _serviceCapabilities; + return _serviceCapabilities!; } final _registeredServiceNotifiers = >{}; - Map> get registeredMethodsForService => + Map> get registeredMethodsForService => _registeredMethodsForService; - final Map> _registeredMethodsForService = {}; + final Map> _registeredMethodsForService = {}; final vmFlagManager = VmFlagManager(); @@ -85,9 +85,9 @@ class ServiceConnectionManager { ErrorBadgeManager get errorBadgeManager => _errorBadgeManager; final _errorBadgeManager = ErrorBadgeManager(); - ServiceExtensionManager? get serviceExtensionManager => + ServiceExtensionManager get serviceExtensionManager => _serviceExtensionManager; - ServiceExtensionManager? _serviceExtensionManager; + late final ServiceExtensionManager _serviceExtensionManager; ConnectedApp? connectedApp; @@ -137,16 +137,16 @@ class ServiceConnectionManager { Future callService( String name, { String? isolateId, - Map? args, + Map? args, }) async { final registered = _registeredMethodsForService[name] ?? const []; if (registered.isEmpty) { throw Exception('There are no registered methods for service "$name"'); } return service!.callMethod( - registered.first!, + registered.first, isolateId: isolateId, - args: args as Map?, + args: args, ); } @@ -159,7 +159,7 @@ class ServiceConnectionManager { } Future vmServiceOpened( - VmServiceWrapper? service, { + VmServiceWrapper service, { required Future onClosed, }) async { if (service == this.service) { @@ -167,7 +167,7 @@ class ServiceConnectionManager { return; } this.service = service; - await service!.initServiceVersions(); + await service.initServiceVersions(); if (_serviceAvailable.isCompleted) { _serviceAvailable = Completer(); } @@ -178,7 +178,7 @@ class ServiceConnectionManager { // race conditions where managers cannot listen for events soon enough. isolateManager.vmServiceOpened(service); consoleService.vmServiceOpened(service); - serviceExtensionManager!.vmServiceOpened(service, connectedApp); + serviceExtensionManager.vmServiceOpened(service, connectedApp!); await vmFlagManager.vmServiceOpened(service); await timelineStreamManager.vmServiceOpened(service, connectedApp!); // This needs to be called last in the above group of `vmServiceOpened` @@ -219,10 +219,10 @@ class ServiceConnectionManager { void handleServiceEvent(Event e) { if (e.kind == EventKind.kServiceRegistered) { - final serviceName = e.service; + final serviceName = e.service!; _registeredMethodsForService .putIfAbsent(serviceName, () => []) - .add(e.method); + .add(e.method!); final serviceNotifier = _registeredServiceNotifiers.putIfAbsent( serviceName, () => ImmediateValueNotifier(true), @@ -278,7 +278,7 @@ class ServiceConnectionManager { _connectedState.value = const ConnectedState(true); - final List isolates = [ + final isolates = [ ...vm?.isolates ?? [], if (preferences.vmDeveloperModeEnabled.value) ...vm?.systemIsolates ?? [], ]; @@ -329,7 +329,7 @@ class ServiceConnectionManager { vmFlagManager.vmServiceClosed(); timelineStreamManager.vmServiceClosed(); - serviceExtensionManager!.vmServiceClosed(); + serviceExtensionManager.vmServiceClosed(); serviceTrafficLogger?.dispose(); @@ -443,7 +443,7 @@ class ServiceConnectionManager { return await _callServiceExtensionOnMainIsolate( registrations.flutterEngineEstimateRasterCache, - args: { + args: { 'viewId': viewId, }, ); @@ -461,7 +461,7 @@ class ServiceConnectionManager { registrations.displayRefreshRate, args: {'viewId': viewId}, ); - final double? fps = displayRefreshRateResponse.json!['fps']; + final double fps = displayRefreshRateResponse.json!['fps']; // The Flutter engine returns 0.0 if the refresh rate is unknown. Return // [defaultRefreshRate] instead. @@ -469,7 +469,7 @@ class ServiceConnectionManager { return defaultRefreshRate; } - return fps!.roundToDouble(); + return fps.roundToDouble(); } bool libraryUriAvailableNow(String? uri) { diff --git a/packages/devtools_app/lib/src/shared/error_badge_manager.dart b/packages/devtools_app/lib/src/shared/error_badge_manager.dart index e5adfc073aa..5b90ae6eecc 100644 --- a/packages/devtools_app/lib/src/shared/error_badge_manager.dart +++ b/packages/devtools_app/lib/src/shared/error_badge_manager.dart @@ -37,7 +37,7 @@ class ErrorBadgeManager extends DisposableController void vmServiceOpened(VmServiceWrapper service) { // Ensure structured errors are enabled. - serviceManager.serviceExtensionManager!.setServiceExtensionState( + serviceManager.serviceExtensionManager.setServiceExtensionState( extensions.structuredErrors.extension, enabled: true, value: true, From 29775d7b79a9ab809ff315cf509560cae5047947 Mon Sep 17 00:00:00 2001 From: Polina Date: Thu, 24 Feb 2022 15:19:05 -0800 Subject: [PATCH 6/6] Update service_manager.dart --- packages/devtools_app/lib/src/service/service_manager.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/devtools_app/lib/src/service/service_manager.dart b/packages/devtools_app/lib/src/service/service_manager.dart index eca64f2a356..3e331f3caa4 100644 --- a/packages/devtools_app/lib/src/service/service_manager.dart +++ b/packages/devtools_app/lib/src/service/service_manager.dart @@ -65,7 +65,7 @@ class ServiceConnectionManager { return _serviceCapabilities!; } - final _registeredServiceNotifiers = >{}; + final _registeredServiceNotifiers = >{}; Map> get registeredMethodsForService => _registeredMethodsForService; @@ -231,7 +231,7 @@ class ServiceConnectionManager { } if (e.kind == EventKind.kServiceUnregistered) { - final serviceName = e.service; + final serviceName = e.service!; _registeredMethodsForService.remove(serviceName); final serviceNotifier = _registeredServiceNotifiers.putIfAbsent( serviceName,