| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 
							- // @flow
 - 
 - import { MEDIA_TYPE, VIDEO_TYPE } from '../base/media';
 - import { getLocalParticipant } from '../base/participants';
 - import { StateListenerRegistry } from '../base/redux';
 - import { getTrackByMediaTypeAndParticipant } from '../base/tracks';
 - import { appendSuffix } from '../display-name';
 - import { shouldDisplayTileView } from '../video-layout';
 - 
 - declare var APP: Object;
 - declare var interfaceConfig: Object;
 - 
 - /**
 -  * StateListenerRegistry provides a reliable way of detecting changes to
 -  * preferred layout state and dispatching additional actions.
 -  */
 - StateListenerRegistry.register(
 -     /* selector */ state => shouldDisplayTileView(state),
 -     /* listener */ displayTileView => {
 -         APP.API.notifyTileViewChanged(displayTileView);
 -     });
 - 
 - StateListenerRegistry.register(
 -     /* selector */ state => state['features/base/settings'].displayName,
 -     /* listener */ (displayName, store) => {
 -         const localParticipant = getLocalParticipant(store.getState());
 - 
 -         // Initial setting of the display name occurs happens on app
 -         // initialization, before the local participant is ready. The initial
 -         // settings is not desired to be fired anyways, only changes.
 -         if (localParticipant) {
 -             const { id } = localParticipant;
 - 
 -             APP.API.notifyDisplayNameChanged(id, {
 -                 displayName,
 -                 formattedDisplayName: appendSuffix(
 -                     displayName,
 -                     interfaceConfig.DEFAULT_LOCAL_DISPLAY_NAME)
 -             });
 -         }
 -     });
 - 
 - /**
 -  * Updates the on stage participant value.
 -  */
 - StateListenerRegistry.register(
 -     /* selector */ state => state['features/large-video'].participantId,
 -     /* listener */ (participantId, store) => {
 -         const videoTrack = getTrackByMediaTypeAndParticipant(
 -             store.getState()['features/base/tracks'], MEDIA_TYPE.VIDEO, participantId);
 - 
 -         if (videoTrack && videoTrack.videoType === VIDEO_TYPE.CAMERA) {
 -             APP.API.notifyOnStageParticipantChanged(participantId);
 -         }
 -     }
 - );
 
 
  |