| 12345678910111213141516171819202122232425262728293031323334353637383940 | 
							- /* globals APP */
 - 
 - import { openDialog } from '../base/dialog';
 - import JitsiMeetJS from '../base/lib-jitsi-meet';
 - 
 - import { DeviceSelectionDialog } from './components';
 - 
 - /**
 -  * Open DeviceSelectionDialog with a configuration based on the environment's
 -  * supported abilities.
 -  *
 -  * @returns {Function}
 -  */
 - export function openDeviceSelectionDialog() {
 -     return (dispatch, getState) => {
 -         JitsiMeetJS.mediaDevices.isDeviceListAvailable()
 -             .then(isDeviceListAvailable => {
 -                 const state = getState();
 -                 const conference = state['features/base/conference'].conference;
 - 
 -                 dispatch(openDialog(DeviceSelectionDialog, {
 -                     currentAudioOutputId: APP.settings.getAudioOutputDeviceId(),
 -                     currentAudioTrack: conference.getLocalAudioTrack(),
 -                     currentVideoTrack: conference.getLocalVideoTrack(),
 -                     disableAudioInputChange:
 -                         !JitsiMeetJS.isMultipleAudioInputSupported(),
 -                     disableDeviceChange: !isDeviceListAvailable
 -                         || !JitsiMeetJS.mediaDevices.isDeviceChangeAvailable(),
 -                     hasAudioPermission: JitsiMeetJS.mediaDevices
 -                         .isDevicePermissionGranted('audio'),
 -                     hasVideoPermission: JitsiMeetJS.mediaDevices
 -                         .isDevicePermissionGranted('video'),
 -                     hideAudioInputPreview:
 -                         !JitsiMeetJS.isCollectingLocalStats(),
 -                     hideAudioOutputSelect: !JitsiMeetJS.mediaDevices
 -                         .isDeviceChangeAvailable('output')
 -                 }));
 -             });
 -     };
 - }
 
 
  |