|
|
|
@ -4,10 +4,19 @@ import { updateConfig } from '../base/config'; |
|
|
|
|
import { SET_AUDIO_MUTED, SET_VIDEO_MUTED } from '../base/media'; |
|
|
|
|
import { MiddlewareRegistry } from '../base/redux'; |
|
|
|
|
import { updateSettings } from '../base/settings'; |
|
|
|
|
import { getLocalVideoTrack, replaceLocalTrack } from '../base/tracks'; |
|
|
|
|
import { |
|
|
|
|
getLocalVideoTrack, |
|
|
|
|
replaceLocalTrack, |
|
|
|
|
TRACK_ADDED, |
|
|
|
|
TRACK_NO_DATA_FROM_SOURCE |
|
|
|
|
} from '../base/tracks'; |
|
|
|
|
|
|
|
|
|
import { PREJOIN_START_CONFERENCE } from './actionTypes'; |
|
|
|
|
import { setPrejoinPageVisibility } from './actions'; |
|
|
|
|
import { |
|
|
|
|
setDeviceStatusOk, |
|
|
|
|
setDeviceStatusWarning, |
|
|
|
|
setPrejoinPageVisibility |
|
|
|
|
} from './actions'; |
|
|
|
|
import { isPrejoinPageVisible } from './functions'; |
|
|
|
|
|
|
|
|
|
declare var APP: Object; |
|
|
|
@ -63,6 +72,30 @@ MiddlewareRegistry.register(store => next => async action => { |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
case TRACK_ADDED: |
|
|
|
|
case TRACK_NO_DATA_FROM_SOURCE: { |
|
|
|
|
const state = store.getState(); |
|
|
|
|
|
|
|
|
|
if (isPrejoinPageVisible(state)) { |
|
|
|
|
const { track: { jitsiTrack: track } } = action; |
|
|
|
|
const { deviceStatusType, deviceStatusText } = state['features/prejoin']; |
|
|
|
|
|
|
|
|
|
if (!track.isAudioTrack()) { |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (track.isReceivingData()) { |
|
|
|
|
if (deviceStatusType === 'warning' |
|
|
|
|
&& deviceStatusText === 'prejoin.audioDeviceProblem') { |
|
|
|
|
store.dispatch(setDeviceStatusOk('prejoin.lookGood')); |
|
|
|
|
} |
|
|
|
|
} else if (deviceStatusType === 'ok') { |
|
|
|
|
store.dispatch(setDeviceStatusWarning('prejoin.audioDeviceProblem')); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return next(action); |
|
|
|
|