fix: disable audio/video settings popup on mobile browsers

Mobile devices do not support capture from multiple cameras/mics at a time.
This commit is contained in:
Jaya Allamsetty 2020-06-29 16:59:28 -04:00 committed by Saúl Ibarra Corretgé
parent 0d15c01077
commit 0e1ecd3256
2 changed files with 12 additions and 4 deletions

View File

@ -2,6 +2,7 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import { isMobileBrowser } from '../../../base/environment/utils';
import { IconArrowDown } from '../../../base/icons'; import { IconArrowDown } from '../../../base/icons';
import JitsiMeetJS from '../../../base/lib-jitsi-meet/_'; import JitsiMeetJS from '../../../base/lib-jitsi-meet/_';
import { connect } from '../../../base/redux'; import { connect } from '../../../base/redux';
@ -31,6 +32,7 @@ type Props = {
/** /**
* Flag controlling the visibility of the button. * Flag controlling the visibility of the button.
* AudioSettings popup is disabled on mobile browsers.
*/ */
visible: boolean, visible: boolean,
}; };
@ -130,7 +132,7 @@ class AudioSettingsButton extends Component<Props, State> {
<AudioMuteButton /> <AudioMuteButton />
</ToolboxButtonWithIcon> </ToolboxButtonWithIcon>
</AudioSettingsPopup> </AudioSettingsPopup>
) : null; ) : <AudioMuteButton />;
} }
} }
@ -143,7 +145,8 @@ class AudioSettingsButton extends Component<Props, State> {
function mapStateToProps(state) { function mapStateToProps(state) {
return { return {
isDisabled: isAudioSettingsButtonDisabled(state), isDisabled: isAudioSettingsButtonDisabled(state),
permissionPromptVisibility: getMediaPermissionPromptVisibility(state) permissionPromptVisibility: getMediaPermissionPromptVisibility(state),
visible: !isMobileBrowser()
}; };
} }

View File

@ -2,6 +2,7 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import { isMobileBrowser } from '../../../base/environment/utils';
import { IconArrowDown } from '../../../base/icons'; import { IconArrowDown } from '../../../base/icons';
import JitsiMeetJS from '../../../base/lib-jitsi-meet/_'; import JitsiMeetJS from '../../../base/lib-jitsi-meet/_';
import { connect } from '../../../base/redux'; import { connect } from '../../../base/redux';
@ -37,6 +38,9 @@ type Props = {
/** /**
* Flag controlling the visibility of the button. * Flag controlling the visibility of the button.
* VideoSettings popup is currently disabled on mobile browsers
* as mobile devices do not support capture of more than one
* camera at a time.
*/ */
visible: boolean, visible: boolean,
}; };
@ -144,7 +148,7 @@ class VideoSettingsButton extends Component<Props, State> {
<VideoMuteButton /> <VideoMuteButton />
</ToolboxButtonWithIcon> </ToolboxButtonWithIcon>
</VideoSettingsPopup> </VideoSettingsPopup>
) : null; ) : <VideoMuteButton />;
} }
} }
@ -158,7 +162,8 @@ function mapStateToProps(state) {
return { return {
hasVideoTrack: Boolean(getLocalJitsiVideoTrack(state)), hasVideoTrack: Boolean(getLocalJitsiVideoTrack(state)),
isDisabled: isVideoSettingsButtonDisabled(state), isDisabled: isVideoSettingsButtonDisabled(state),
permissionPromptVisibility: getMediaPermissionPromptVisibility(state) permissionPromptVisibility: getMediaPermissionPromptVisibility(state),
visible: !isMobileBrowser()
}; };
} }