Commit 09ca3c18 authored by Alexander Aprelev's avatar Alexander Aprelev Committed by Mikkel Nygaard Ravn

Fix the way how stream event subscription is handled. (#16698)

parent eaf3a664
......@@ -43,7 +43,7 @@ class Tracing {
} else {
final Completer<Null> whenFirstFrameRendered = new Completer<Null>();
vmService.onTimelineEvent.listen((ServiceEvent timelineEvent) {
(await vmService.onTimelineEvent).listen((ServiceEvent timelineEvent) {
final List<Map<String, dynamic>> events = timelineEvent.timelineEvents;
for (Map<String, dynamic> event in events) {
if (event['name'] == _kFirstUsefulFrameEventName)
......
......@@ -175,16 +175,16 @@ class VMService {
Future<Null> get done => _peer.done;
// Events
Stream<ServiceEvent> get onDebugEvent => onEvent('Debug');
Stream<ServiceEvent> get onExtensionEvent => onEvent('Extension');
Future<Stream<ServiceEvent>> get onDebugEvent => onEvent('Debug');
Future<Stream<ServiceEvent>> get onExtensionEvent => onEvent('Extension');
// IsolateStart, IsolateRunnable, IsolateExit, IsolateUpdate, ServiceExtensionAdded
Stream<ServiceEvent> get onIsolateEvent => onEvent('Isolate');
Stream<ServiceEvent> get onTimelineEvent => onEvent('Timeline');
Future<Stream<ServiceEvent>> get onIsolateEvent => onEvent('Isolate');
Future<Stream<ServiceEvent>> get onTimelineEvent => onEvent('Timeline');
// TODO(johnmccutchan): Add FlutterView events.
// Listen for a specific event name.
Stream<ServiceEvent> onEvent(String streamId) {
_streamListen(streamId);
Future<Stream<ServiceEvent>> onEvent(String streamId) async {
await _streamListen(streamId);
return _getEventController(streamId).stream;
}
......@@ -1328,7 +1328,7 @@ class FlutterView extends ServiceObject {
// When this completer completes the isolate is running.
final Completer<Null> completer = new Completer<Null>();
final StreamSubscription<ServiceEvent> subscription =
owner.vm.vmService.onIsolateEvent.listen((ServiceEvent event) {
(await owner.vm.vmService.onIsolateEvent).listen((ServiceEvent event) {
// TODO(johnmccutchan): Listen to the debug stream and catch initial
// launch errors.
if (event.kind == ServiceEvent.kIsolateRunnable) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment