Merge branch 'riadvice-breakout-audio-rejoin' into v2.0.x-release
This commit is contained in:
commit
fb58a5f0ca
@ -52,6 +52,7 @@ package org.bigbluebutton.core.model
|
|||||||
public var authTokenValid: Boolean = false;
|
public var authTokenValid: Boolean = false;
|
||||||
public var waitingForApproval: Boolean;
|
public var waitingForApproval: Boolean;
|
||||||
|
|
||||||
|
public var breakoutEjectFromAudio : Boolean = false;
|
||||||
|
|
||||||
private var _role:String = "viewer";
|
private var _role:String = "viewer";
|
||||||
public function get role():String {
|
public function get role():String {
|
||||||
|
@ -62,6 +62,15 @@ package org.bigbluebutton.main.model.users {
|
|||||||
users.addItem(user);
|
users.addItem(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function hasUserWithId(userId:String) : Boolean {
|
||||||
|
for (var i : int = 0; i < users.length; i++) {
|
||||||
|
if (BreakoutUser(users.getItemAt(i)).id.indexOf(userId) > -1 ) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public function removeUser(id: String): void {
|
public function removeUser(id: String): void {
|
||||||
for (var i: int = 0; i < users.length; i++) {
|
for (var i: int = 0; i < users.length; i++) {
|
||||||
var user: BreakoutUser = users[i] as BreakoutUser;
|
var user: BreakoutUser = users[i] as BreakoutUser;
|
||||||
|
@ -150,10 +150,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
import org.bigbluebutton.modules.phone.events.WebRTCEchoTestEvent;
|
import org.bigbluebutton.modules.phone.events.WebRTCEchoTestEvent;
|
||||||
import org.bigbluebutton.modules.phone.events.WebRTCMediaEvent;
|
import org.bigbluebutton.modules.phone.events.WebRTCMediaEvent;
|
||||||
import org.bigbluebutton.modules.phone.models.PhoneOptions;
|
import org.bigbluebutton.modules.phone.models.PhoneOptions;
|
||||||
import org.bigbluebutton.util.browser.BrowserCheck;
|
|
||||||
import org.bigbluebutton.modules.users.model.UsersOptions;
|
import org.bigbluebutton.modules.users.model.UsersOptions;
|
||||||
import org.bigbluebutton.modules.users.views.BreakoutRoomSettings;
|
import org.bigbluebutton.modules.users.views.BreakoutRoomSettings;
|
||||||
import org.bigbluebutton.modules.videoconf.events.ShareCameraRequestEvent;
|
import org.bigbluebutton.modules.videoconf.events.ShareCameraRequestEvent;
|
||||||
|
import org.bigbluebutton.util.browser.BrowserCheck;
|
||||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||||
|
|
||||||
private static const LOGGER:ILogger = getClassLogger(MainApplicationShell);
|
private static const LOGGER:ILogger = getClassLogger(MainApplicationShell);
|
||||||
|
@ -113,6 +113,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function joinAudio():void {
|
private function joinAudio():void {
|
||||||
|
LiveMeeting.inst().me.breakoutEjectFromAudio = false;
|
||||||
|
|
||||||
if (phoneOptions.skipCheck || disableMyMic || defaultListenOnlyMode) {
|
if (phoneOptions.skipCheck || disableMyMic || defaultListenOnlyMode) {
|
||||||
var command:JoinVoiceConferenceCommand = new JoinVoiceConferenceCommand();
|
var command:JoinVoiceConferenceCommand = new JoinVoiceConferenceCommand();
|
||||||
|
@ -51,6 +51,7 @@ package org.bigbluebutton.modules.users.services
|
|||||||
import org.bigbluebutton.main.model.users.events.ChangeMyRole;
|
import org.bigbluebutton.main.model.users.events.ChangeMyRole;
|
||||||
import org.bigbluebutton.main.model.users.events.StreamStartedEvent;
|
import org.bigbluebutton.main.model.users.events.StreamStartedEvent;
|
||||||
import org.bigbluebutton.main.model.users.events.StreamStoppedEvent;
|
import org.bigbluebutton.main.model.users.events.StreamStoppedEvent;
|
||||||
|
import org.bigbluebutton.modules.phone.events.AudioSelectionWindowEvent;
|
||||||
import org.bigbluebutton.modules.screenshare.events.WebRTCViewStreamEvent;
|
import org.bigbluebutton.modules.screenshare.events.WebRTCViewStreamEvent;
|
||||||
import org.bigbluebutton.modules.users.events.MeetingMutedEvent;
|
import org.bigbluebutton.modules.users.events.MeetingMutedEvent;
|
||||||
|
|
||||||
@ -810,6 +811,15 @@ package org.bigbluebutton.modules.users.services
|
|||||||
var body: Object = msg.body as Object;
|
var body: Object = msg.body as Object;
|
||||||
var breakoutId: String = body.breakoutId as String;
|
var breakoutId: String = body.breakoutId as String;
|
||||||
|
|
||||||
|
// Display audio join window
|
||||||
|
if (LiveMeeting.inst().me.breakoutEjectFromAudio &&
|
||||||
|
LiveMeeting.inst().breakoutRooms.getBreakoutRoom(breakoutId).hasUserWithId(LiveMeeting.inst().me.id) &&
|
||||||
|
!LiveMeeting.inst().me.inVoiceConf
|
||||||
|
) {
|
||||||
|
LiveMeeting.inst().me.breakoutEjectFromAudio = false;
|
||||||
|
dispatcher.dispatchEvent(new AudioSelectionWindowEvent(AudioSelectionWindowEvent.SHOW_AUDIO_SELECTION));
|
||||||
|
}
|
||||||
|
|
||||||
switchUserFromBreakoutToMainVoiceConf(breakoutId);
|
switchUserFromBreakoutToMainVoiceConf(breakoutId);
|
||||||
var breakoutRoom: BreakoutRoom = LiveMeeting.inst().breakoutRooms.getBreakoutRoom(breakoutId);
|
var breakoutRoom: BreakoutRoom = LiveMeeting.inst().breakoutRooms.getBreakoutRoom(breakoutId);
|
||||||
LiveMeeting.inst().breakoutRooms.removeBreakoutRoom(breakoutId);
|
LiveMeeting.inst().breakoutRooms.removeBreakoutRoom(breakoutId);
|
||||||
|
@ -35,6 +35,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
import flash.net.navigateToURL;
|
import flash.net.navigateToURL;
|
||||||
|
|
||||||
import org.bigbluebutton.core.PopUpUtil;
|
import org.bigbluebutton.core.PopUpUtil;
|
||||||
|
import org.bigbluebutton.core.model.LiveMeeting;
|
||||||
import org.bigbluebutton.modules.phone.events.LeaveVoiceConferenceCommand;
|
import org.bigbluebutton.modules.phone.events.LeaveVoiceConferenceCommand;
|
||||||
import org.bigbluebutton.modules.videoconf.events.StopBroadcastEvent;
|
import org.bigbluebutton.modules.videoconf.events.StopBroadcastEvent;
|
||||||
import org.bigbluebutton.util.i18n.ResourceUtil;
|
import org.bigbluebutton.util.i18n.ResourceUtil;
|
||||||
@ -49,6 +50,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected function joinButtonClickHandler(event:MouseEvent):void {
|
protected function joinButtonClickHandler(event:MouseEvent):void {
|
||||||
|
if (LiveMeeting.inst().me.inVoiceConf) {
|
||||||
|
LiveMeeting.inst().me.breakoutEjectFromAudio = true;
|
||||||
|
} else {
|
||||||
|
LiveMeeting.inst().me.breakoutEjectFromAudio = false;
|
||||||
|
|
||||||
|
}
|
||||||
dispatcher.dispatchEvent(new LeaveVoiceConferenceCommand());
|
dispatcher.dispatchEvent(new LeaveVoiceConferenceCommand());
|
||||||
dispatcher.dispatchEvent(new StopBroadcastEvent());
|
dispatcher.dispatchEvent(new StopBroadcastEvent());
|
||||||
navigateToURL(new URLRequest(this.joinUrl), "_blank");
|
navigateToURL(new URLRequest(this.joinUrl), "_blank");
|
||||||
|
Loading…
Reference in New Issue
Block a user