| 12345678910111213141516171819202122232425262728293031323334353637 | 
							- /* 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 => {
 -         JitsiMeetJS.mediaDevices.isDeviceListAvailable()
 -             .then(isDeviceListAvailable => {
 -                 dispatch(openDialog(DeviceSelectionDialog, {
 -                     currentAudioInputId: APP.settings.getMicDeviceId(),
 -                     currentAudioOutputId: APP.settings.getAudioOutputDeviceId(),
 -                     currentVideoInputId: APP.settings.getCameraDeviceId(),
 -                     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')
 -                 }));
 -             });
 -     };
 - }
 
 
  |