Clean up null assumptions in vmservice for null safe migration (#89009)
diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart
index e9e363d..f626c70 100644
--- a/packages/flutter_tools/lib/src/vmservice.dart
+++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -148,7 +148,7 @@
while (socket == null) {
attempts += 1;
try {
- socket = await constructor(url, compression: compression);
+ socket = await constructor(url, compression: compression, logger: logger);
} on io.WebSocketException catch (e) {
await handleError(e);
} on io.SocketException catch (e) {
@@ -758,7 +758,7 @@
: <String, String>{},
);
if (result != null && result['value'] is String) {
- return (result['value'] as String) == 'Brightness.light'
+ return result['value'] == 'Brightness.light'
? Brightness.light
: Brightness.dark;
}
@@ -821,8 +821,9 @@
}
final List<Object> rawViews = response.json['views'] as List<Object>;
final List<FlutterView> views = <FlutterView>[
- for (final Object rawView in rawViews)
- FlutterView.parse(rawView as Map<String, Object>)
+ if (rawViews != null)
+ for (final Object rawView in rawViews)
+ FlutterView.parse(rawView as Map<String, Object>)
];
if (views.isNotEmpty || returnEarly) {
return views;
@@ -853,7 +854,7 @@
isolateEvents = service.onIsolateEvent.listen((vm_service.Event event) {
if (event.kind == vm_service.EventKind.kServiceExtensionAdded
&& event.extensionRPC == extensionName) {
- isolateEvents.cancel();
+ isolateEvents?.cancel();
extensionAdded.complete(event.isolate);
}
});
@@ -862,7 +863,7 @@
final List<vm_service.IsolateRef> refs = await _getIsolateRefs();
for (final vm_service.IsolateRef ref in refs) {
final vm_service.Isolate isolate = await getIsolateOrNull(ref.id);
- if (isolate != null && isolate.extensionRPCs.contains(extensionName)) {
+ if (isolate != null && isolate.extensionRPCs?.contains(extensionName) == true) {
return ref;
}
}
@@ -885,8 +886,9 @@
final List<vm_service.IsolateRef> refs = <vm_service.IsolateRef>[];
for (final FlutterView flutterView in flutterViews) {
- if (flutterView.uiIsolate != null) {
- refs.add(flutterView.uiIsolate);
+ final vm_service.IsolateRef uiIsolate = flutterView.uiIsolate;
+ if (uiIsolate != null) {
+ refs.add(uiIsolate);
}
}
return refs;
@@ -894,7 +896,7 @@
/// Attempt to retrieve the isolate with id [isolateId], or `null` if it has
/// been collected.
- Future<vm_service.Isolate> getIsolateOrNull(String isolateId) {
+ Future<vm_service.Isolate> getIsolateOrNull(String isolateId) async {
return service.getIsolate(isolateId)
.catchError((dynamic error, StackTrace stackTrace) {
return null;