- handle voice lock settings

This commit is contained in:
Richard Alam 2018-04-04 13:19:34 -07:00
parent 4baec2c7df
commit 94cd0c66a7
4 changed files with 16 additions and 11 deletions

View File

@ -18,13 +18,12 @@ package org.bigbluebutton.air.voice.commands {
public var userId:String;
override public function execute():void {
trace("MicrophoneMuteCommand.execute() - userId = " + userId);
var vu:VoiceUser = meetingData.voiceUsers.getUser(userId);
if (vu != null) {
if (vu.muted) {
voiceService.unmute(userId);
} else {
if (!vu.muted || meetingData.meetingStatus.lockSettings.disableMic) {
voiceService.mute(userId);
} else {
voiceService.unmute(userId);
}
}
}

View File

@ -39,7 +39,7 @@ package org.bigbluebutton.air.voice.models {
if (index >= 0) {
var removedUser:VoiceUser = _users.removeItemAt(index) as VoiceUser;
if (_me == removedUser) {
if (_me.intId == removedUser.intId) {
_me = null;
}
@ -77,6 +77,7 @@ package org.bigbluebutton.air.voice.models {
// Force user to not talking if muted.
user.talking = false;
}
_userChangeSignal.dispatch(user, VoiceUserChangeEnum.MUTE);
}
}

View File

@ -13,7 +13,9 @@ package org.bigbluebutton.air.voice.services {
import org.bigbluebutton.air.main.models.IUserSession;
import org.bigbluebutton.air.main.models.LockSettings2x;
import org.bigbluebutton.air.user.models.UserRole;
import org.bigbluebutton.air.voice.commands.MicrophoneMuteSignal;
import org.bigbluebutton.air.voice.commands.ShareMicrophoneSignal;
import org.bigbluebutton.air.voice.models.VoiceUser;
import org.osflash.signals.ISignal;
import org.osflash.signals.Signal;
@ -30,9 +32,9 @@ package org.bigbluebutton.air.voice.services {
public var meetingData:IMeetingData;
[Inject]
public var shareMicrophoneSignal:ShareMicrophoneSignal;
public var microphoneMuteSignal:MicrophoneMuteSignal;
public var _callActive:Boolean = false;
private var _callActive:Boolean = false;
protected var _connectionSuccessSignal:ISignal = new Signal();
@ -61,8 +63,12 @@ package org.bigbluebutton.air.voice.services {
private function lockSettingsChange(lockSettings:LockSettings2x):void {
if (lockSettings.disableMic && meetingData.users.me.locked && meetingData.users.me.role != UserRole.MODERATOR) {
trace("TODO: Disabling the mic still needs to be finished");
//shareMicrophoneSignal.dispatch(audioOptions);
if (meetingData.voiceUsers.me != null) {
var vu:VoiceUser = meetingData.voiceUsers.getUser(meetingData.users.me.intId);
if (!vu.muted && meetingData.meetingStatus.lockSettings.disableMic) {
microphoneMuteSignal.dispatch(meetingData.users.me.intId);
}
}
}
}

View File

@ -68,12 +68,11 @@ package org.bigbluebutton.air.voice.services {
meetingData.voiceUsers.remove(intId);
}
private function handleUserMutedEvtMsg(msg:Object):void {
private function handleUserMutedEvtMsg(msg:Object):void {
var header:Object = msg.header as Object;
var body:Object = msg.body as Object;
var intId:String = body.intId as String;
var muted:Boolean = body.muted as Boolean;
meetingData.voiceUsers.changeUserMute(intId, muted);
}