@@ -287,91 +287,6 @@ class Room extends DisposableChangeNotifier with EventsEmittable<RoomEvent> {
287287 }
288288
289289 void _setUpSignalListeners () => _signalListener
290- ..on < SignalJoinResponseEvent > ((event) {
291- _roomInfo = event.response.room;
292- _name = event.response.room.name;
293- _metadata = event.response.room.metadata;
294- _serverVersion = event.response.serverVersion;
295- _serverRegion = event.response.serverRegion;
296-
297- if (_isRecording != event.response.room.activeRecording) {
298- _isRecording = event.response.room.activeRecording;
299- emitWhenConnected (
300- RoomRecordingStatusChanged (activeRecording: _isRecording));
301- }
302-
303- logger.fine ('[Engine] Received JoinResponse, '
304- 'serverVersion: ${event .response .serverVersion }' );
305-
306- _localParticipant ?? = LocalParticipant (
307- room: this ,
308- info: event.response.participant,
309- );
310-
311- if (engine.fullReconnectOnNext) {
312- _localParticipant! .updateFromInfo (event.response.participant);
313- }
314-
315- if (connectOptions.protocolVersion.index >= ProtocolVersion .v8.index &&
316- engine.fastConnectOptions != null &&
317- ! engine.fullReconnectOnNext) {
318- var options = engine.fastConnectOptions! ;
319-
320- var audio = options.microphone;
321- bool audioEnabled = audio.enabled == true || audio.track != null ;
322- if (audioEnabled) {
323- if (audio.track != null ) {
324- _localParticipant! .publishAudioTrack (audio.track as LocalAudioTrack ,
325- publishOptions: roomOptions.defaultAudioPublishOptions);
326- } else {
327- _localParticipant! .setMicrophoneEnabled (true ,
328- audioCaptureOptions: roomOptions.defaultAudioCaptureOptions);
329- }
330- }
331-
332- var video = options.camera;
333- bool videoEnabled = video.enabled == true || video.track != null ;
334- if (videoEnabled) {
335- if (video.track != null ) {
336- _localParticipant! .publishVideoTrack (video.track as LocalVideoTrack ,
337- publishOptions: roomOptions.defaultVideoPublishOptions);
338- } else {
339- _localParticipant! .setCameraEnabled (true ,
340- cameraCaptureOptions: roomOptions.defaultCameraCaptureOptions);
341- }
342- }
343-
344- var screen = options.screen;
345- bool screenEnabled = screen.enabled == true || screen.track != null ;
346- if (screenEnabled) {
347- if (screen.track != null ) {
348- _localParticipant! .publishVideoTrack (
349- screen.track as LocalVideoTrack ,
350- publishOptions: roomOptions.defaultVideoPublishOptions);
351- } else {
352- _localParticipant! .setScreenShareEnabled (true ,
353- screenShareCaptureOptions:
354- roomOptions.defaultScreenShareCaptureOptions);
355- }
356- }
357- }
358-
359- for (final info in event.response.otherParticipants) {
360- logger.fine (
361- 'Creating RemoteParticipant: sid = ${info .sid }(identity:${info .identity }) '
362- 'tracks:${info .tracks .map ((e ) => e .sid )}' );
363- _getOrCreateRemoteParticipant (info.identity, info);
364- }
365-
366- if (e2eeManager != null && event.response.sifTrailer.isNotEmpty) {
367- e2eeManager! .keyProvider
368- .setSifTrailer (Uint8List .fromList (event.response.sifTrailer));
369- }
370-
371- logger.fine ('Room Connect completed' );
372-
373- events.emit (RoomConnectedEvent (room: this , metadata: _metadata));
374- })
375290 ..on < SignalParticipantUpdateEvent > (
376291 (event) => _onParticipantUpdateEvent (event.participants))
377292 ..on < SignalSpeakersChangedEvent > (
@@ -473,6 +388,91 @@ class Room extends DisposableChangeNotifier with EventsEmittable<RoomEvent> {
473388 });
474389
475390 void _setUpEngineListeners () => _engineListener
391+ ..on < EngineJoinResponseEvent > ((event) {
392+ _roomInfo = event.response.room;
393+ _name = event.response.room.name;
394+ _metadata = event.response.room.metadata;
395+ _serverVersion = event.response.serverVersion;
396+ _serverRegion = event.response.serverRegion;
397+
398+ if (_isRecording != event.response.room.activeRecording) {
399+ _isRecording = event.response.room.activeRecording;
400+ emitWhenConnected (
401+ RoomRecordingStatusChanged (activeRecording: _isRecording));
402+ }
403+
404+ logger.fine ('[Engine] Received JoinResponse, '
405+ 'serverVersion: ${event .response .serverVersion }' );
406+
407+ _localParticipant ?? = LocalParticipant (
408+ room: this ,
409+ info: event.response.participant,
410+ );
411+
412+ if (engine.fullReconnectOnNext) {
413+ _localParticipant! .updateFromInfo (event.response.participant);
414+ }
415+
416+ if (connectOptions.protocolVersion.index >= ProtocolVersion .v8.index &&
417+ engine.fastConnectOptions != null &&
418+ ! engine.fullReconnectOnNext) {
419+ var options = engine.fastConnectOptions! ;
420+
421+ var audio = options.microphone;
422+ bool audioEnabled = audio.enabled == true || audio.track != null ;
423+ if (audioEnabled) {
424+ if (audio.track != null ) {
425+ _localParticipant! .publishAudioTrack (audio.track as LocalAudioTrack ,
426+ publishOptions: roomOptions.defaultAudioPublishOptions);
427+ } else {
428+ _localParticipant! .setMicrophoneEnabled (true ,
429+ audioCaptureOptions: roomOptions.defaultAudioCaptureOptions);
430+ }
431+ }
432+
433+ var video = options.camera;
434+ bool videoEnabled = video.enabled == true || video.track != null ;
435+ if (videoEnabled) {
436+ if (video.track != null ) {
437+ _localParticipant! .publishVideoTrack (video.track as LocalVideoTrack ,
438+ publishOptions: roomOptions.defaultVideoPublishOptions);
439+ } else {
440+ _localParticipant! .setCameraEnabled (true ,
441+ cameraCaptureOptions: roomOptions.defaultCameraCaptureOptions);
442+ }
443+ }
444+
445+ var screen = options.screen;
446+ bool screenEnabled = screen.enabled == true || screen.track != null ;
447+ if (screenEnabled) {
448+ if (screen.track != null ) {
449+ _localParticipant! .publishVideoTrack (
450+ screen.track as LocalVideoTrack ,
451+ publishOptions: roomOptions.defaultVideoPublishOptions);
452+ } else {
453+ _localParticipant! .setScreenShareEnabled (true ,
454+ screenShareCaptureOptions:
455+ roomOptions.defaultScreenShareCaptureOptions);
456+ }
457+ }
458+ }
459+
460+ for (final info in event.response.otherParticipants) {
461+ logger.fine (
462+ 'Creating RemoteParticipant: sid = ${info .sid }(identity:${info .identity }) '
463+ 'tracks:${info .tracks .map ((e ) => e .sid )}' );
464+ _getOrCreateRemoteParticipant (info.identity, info);
465+ }
466+
467+ if (e2eeManager != null && event.response.sifTrailer.isNotEmpty) {
468+ e2eeManager! .keyProvider
469+ .setSifTrailer (Uint8List .fromList (event.response.sifTrailer));
470+ }
471+
472+ logger.fine ('Room Connect completed' );
473+
474+ events.emit (RoomConnectedEvent (room: this , metadata: _metadata));
475+ })
476476 ..on < EngineResumedEvent > ((event) async {
477477 // re-send tracks permissions
478478 localParticipant? .sendTrackSubscriptionPermissions ();
0 commit comments