fix(toolbox) hide volume meter when audio levels are disabled

This commit is contained in:
Akshay Raje
2022-01-11 11:08:36 -05:00
committed by GitHub
parent 26a6c336e3
commit 8d8cc9c8bd
5 changed files with 58 additions and 11 deletions

View File

@@ -41,7 +41,12 @@ type Props = AudioSettingsEntryProps & {
* Click handler for component.
*/
onClick: Function,
listHeaderId: string
listHeaderId: string,
/**
* Used to decide whether to listen to audio level changes.
*/
measureAudioLevels: boolean,
}
type State = {
@@ -129,9 +134,9 @@ export default class MicrophoneEntry extends Component<Props, State> {
* @returns {void}
*/
_startListening() {
const { jitsiTrack } = this.props;
const { jitsiTrack, measureAudioLevels } = this.props;
jitsiTrack && jitsiTrack.on(
jitsiTrack && measureAudioLevels && jitsiTrack.on(
JitsiTrackEvents.TRACK_AUDIO_LEVEL_CHANGED,
this._updateLevel);
}
@@ -185,20 +190,32 @@ export default class MicrophoneEntry extends Component<Props, State> {
* @inheritdoc
*/
render() {
const { deviceId, children, hasError, index, isSelected, length, jitsiTrack, listHeaderId } = this.props;
const {
deviceId,
children,
hasError,
index,
isSelected,
length,
jitsiTrack,
listHeaderId,
measureAudioLevels
} = this.props;
const deviceTextId: string = `choose_microphone${deviceId}`;
const labelledby: string = `${listHeaderId} ${deviceTextId} `;
const className = `audio-preview-microphone ${measureAudioLevels
? 'audio-preview-microphone--withmeter' : 'audio-preview-microphone--nometer'}`;
return (
<li
aria-checked = { isSelected }
aria-labelledby = { labelledby }
aria-posinset = { index }
aria-setsize = { length }
className = 'audio-preview-microphone'
className = { className }
onClick = { this._onClick }
onKeyPress = { this._onKeyPress }
role = 'radio'
@@ -209,7 +226,7 @@ export default class MicrophoneEntry extends Component<Props, State> {
labelId = { deviceTextId }>
{children}
</AudioSettingsEntry>
{ Boolean(jitsiTrack) && <Meter
{ Boolean(jitsiTrack) && measureAudioLevels && <Meter
className = 'audio-preview-meter-mic'
isDisabled = { hasError }
level = { this.state.level } />