diff --git a/bigbluebutton-client/resources/prod/BigBlueButton.html b/bigbluebutton-client/resources/prod/BigBlueButton.html
index 9948f486aa..8fbe8d990e 100755
--- a/bigbluebutton-client/resources/prod/BigBlueButton.html
+++ b/bigbluebutton-client/resources/prod/BigBlueButton.html
@@ -19,6 +19,12 @@
+
diff --git a/bigbluebutton-client/resources/prod/lib/bbb_api_bridge.js b/bigbluebutton-client/resources/prod/lib/bbb_api_bridge.js
index 9b7bb35579..664722133a 100755
--- a/bigbluebutton-client/resources/prod/lib/bbb_api_bridge.js
+++ b/bigbluebutton-client/resources/prod/lib/bbb_api_bridge.js
@@ -59,7 +59,7 @@
}
/**
- * Get external meetingID.
+ * Get external userID.
*/
BBB.getMyUserID = function(callback) {
var swfObj = getSwfObj();
@@ -70,7 +70,23 @@
}
}
}
-
+
+ /**
+ * Get my user info.
+ */
+ BBB.getMyUserInfo = function(callback) {
+ var swfObj = getSwfObj();
+ if (swfObj) {
+ if (arguments.length == 0) {
+ swfObj.getMyUserInfoAsync();
+ } else {
+ if (typeof callback === 'function') {
+ callback(swfObj.getMyUserInfoSync());
+ }
+ }
+ }
+ }
+
/**
* Get external meetingID.
*/
@@ -263,27 +279,27 @@
* See https://github.com/bigbluebutton/bigbluebutton/blob/master/bigbluebutton-client/src/org/bigbluebutton/core/EventConstants.as
*
************************************************/
- var GET_MY_ROLE_RESP:String = 'GetMyRoleResponse';
- var AM_I_PRESENTER_RESP:String = 'AmIPresenterQueryResponse';
- var AM_I_SHARING_CAM_RESP:String = 'AmISharingCamQueryResponse';
- var BROADCASTING_CAM_STARTED:String = 'BroadcastingCameraStartedEvent';
- var BROADCASTING_CAM_STOPPED:String = 'BroadcastingCameraStoppedEvent';
- var I_AM_SHARING_CAM:String = 'IAmSharingCamEvent';
- var CAM_STREAM_SHARED:String = 'CamStreamSharedEvent';
- var USER_JOINED:String = 'UserJoinedEvent';
- var USER_LEFT:String = 'UserLeftEvent';
- var SWITCHED_PRESENTER:String = 'SwitchedPresenterEvent';
- var NEW_PRIVATE_CHAT:String = 'NewPrivateChatEvent';
- var NEW_PUBLIC_CHAT:String = 'NewPublicChatEvent';
- var SWITCHED_LAYOUT:String = 'SwitchedLayoutEvent';
- var REMOTE_LOCKED_LAYOUT:String = 'RemoteLockedLayoutEvent';
- var REMOTE_UNLOCKED_LAYOUT:String = 'RemoteUnlockedLayoutEvent';
- var USER_JOINED_VOICE:String = 'UserJoinedVoiceEvent';
- var USER_LEFT_VOICE:String = 'UserLeftVoiceEvent';
- var USER_MUTED_VOICE:String = 'UserVoiceMutedEvent';
- var USER_TALKING:String = 'UserTalkingEvent';
- var USER_LOCKED_VOICE:String = 'UserLockedVoiceEvent';
- var START_PRIVATE_CHAT:String = "StartPrivateChatEvent";
+ var GET_MY_ROLE_RESP = 'GetMyRoleResponse';
+ var AM_I_PRESENTER_RESP = 'AmIPresenterQueryResponse';
+ var AM_I_SHARING_CAM_RESP = 'AmISharingCamQueryResponse';
+ var BROADCASTING_CAM_STARTED = 'BroadcastingCameraStartedEvent';
+ var BROADCASTING_CAM_STOPPED = 'BroadcastingCameraStoppedEvent';
+ var I_AM_SHARING_CAM = 'IAmSharingCamEvent';
+ var CAM_STREAM_SHARED = 'CamStreamSharedEvent';
+ var USER_JOINED = 'UserJoinedEvent';
+ var USER_LEFT = 'UserLeftEvent';
+ var SWITCHED_PRESENTER = 'SwitchedPresenterEvent';
+ var NEW_PRIVATE_CHAT = 'NewPrivateChatEvent';
+ var NEW_PUBLIC_CHAT = 'NewPublicChatEvent';
+ var SWITCHED_LAYOUT = 'SwitchedLayoutEvent';
+ var REMOTE_LOCKED_LAYOUT = 'RemoteLockedLayoutEvent';
+ var REMOTE_UNLOCKED_LAYOUT = 'RemoteUnlockedLayoutEvent';
+ var USER_JOINED_VOICE = 'UserJoinedVoiceEvent';
+ var USER_LEFT_VOICE = 'UserLeftVoiceEvent';
+ var USER_MUTED_VOICE = 'UserVoiceMutedEvent';
+ var USER_TALKING = 'UserTalkingEvent';
+ var USER_LOCKED_VOICE = 'UserLockedVoiceEvent';
+ var START_PRIVATE_CHAT = 'StartPrivateChatEvent';
window.BBB = BBB;
})(this);
diff --git a/bigbluebutton-client/src/WebcamPreviewStandalone.mxml b/bigbluebutton-client/src/WebcamPreviewStandalone.mxml
index ff5a23afd3..706dde48da 100755
--- a/bigbluebutton-client/src/WebcamPreviewStandalone.mxml
+++ b/bigbluebutton-client/src/WebcamPreviewStandalone.mxml
@@ -94,7 +94,9 @@
stopCamera();
}
- public function displayCamera(camIndex:String, camWidth:int, camHeight:int, camKeyFrameInterval:int, camModeFps:Number, camQualityBandwidth:int, camQualityPicture:int):void {
+ public function displayCamera(camIndex:String, camWidth:int, camHeight:int, camKeyFrameInterval:int,
+ camModeFps:Number, camQualityBandwidth:int,
+ camQualityPicture:int):void {
trace('WebcamPreviewSA::displayCamera');
stopCamera();
diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/EventConstants.as b/bigbluebutton-client/src/org/bigbluebutton/core/EventConstants.as
index 0b377d81c4..1f58411492 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/core/EventConstants.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/core/EventConstants.as
@@ -28,6 +28,7 @@ package org.bigbluebutton.core
public static const USER_JOINED:String = 'UserJoinedEvent';
public static const USER_LEFT:String = 'UserLeftEvent';
public static const SWITCHED_PRESENTER:String = 'SwitchedPresenterEvent';
+ public static const NEW_ROLE:String = 'NewRoleEvent';
public static const NEW_PRIVATE_CHAT:String = 'NewPrivateChatEvent';
public static const NEW_PUBLIC_CHAT:String = 'NewPublicChatEvent';
public static const SWITCHED_LAYOUT:String = 'SwitchedLayoutEvent';
@@ -39,5 +40,6 @@ package org.bigbluebutton.core
public static const USER_TALKING:String = 'UserTalkingEvent';
public static const USER_LOCKED_VOICE:String = 'UserLockedVoiceEvent';
public static const START_PRIVATE_CHAT:String = "StartPrivateChatEvent";
+ public static const GET_MY_USER_INFO_REP:String = "GetMyUserInfoResponse";
}
}
\ No newline at end of file
diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as b/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as
index 21f2d71c8a..69467363b0 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as
@@ -84,6 +84,10 @@ package org.bigbluebutton.core
return UserManager.getInstance().getConference().getMyUserId();
}
+ public static function getMyRole():String {
+ return UserManager.getInstance().getConference().getMyRole();
+ }
+
public static function getMyUsername():String {
return UserManager.getInstance().getConference().getMyName();
}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/events/GetMyUserInfoRequestEvent.as b/bigbluebutton-client/src/org/bigbluebutton/core/events/GetMyUserInfoRequestEvent.as
new file mode 100755
index 0000000000..163170003b
--- /dev/null
+++ b/bigbluebutton-client/src/org/bigbluebutton/core/events/GetMyUserInfoRequestEvent.as
@@ -0,0 +1,14 @@
+package org.bigbluebutton.core.events
+{
+ import flash.events.Event;
+
+ public class GetMyUserInfoRequestEvent extends Event
+ {
+ public static const GET_MY_USER_INFO_REQUEST:String = "get my user info request event";
+
+ public function GetMyUserInfoRequestEvent(bubbles:Boolean=true, cancelable:Boolean=false)
+ {
+ super(GET_MY_USER_INFO_REQUEST, bubbles, cancelable);
+ }
+ }
+}
\ No newline at end of file
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCallbacks.as b/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCallbacks.as
index 3c48c2662f..8b599bf710 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCallbacks.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCallbacks.as
@@ -12,6 +12,7 @@ package org.bigbluebutton.main.api
import org.bigbluebutton.core.events.AmIPresenterQueryEvent;
import org.bigbluebutton.core.events.AmISharingWebcamQueryEvent;
import org.bigbluebutton.core.events.CoreEvent;
+ import org.bigbluebutton.core.events.GetMyUserInfoRequestEvent;
import org.bigbluebutton.core.managers.UserManager;
import org.bigbluebutton.core.vo.CameraSettingsVO;
import org.bigbluebutton.main.events.BBBEvent;
@@ -33,6 +34,8 @@ package org.bigbluebutton.main.api
private function init():void {
if (ExternalInterface.available) {
ExternalInterface.addCallback("switchPresenterRequest", handleSwitchPresenterRequest);
+ ExternalInterface.addCallback("getMyUserInfoSync", handleGetMyUserInfoSynch);
+ ExternalInterface.addCallback("getMyUserInfoAsync", handleGetMyUserInfoAsynch);
ExternalInterface.addCallback("getMyUserID", handleGetMyUserID);
ExternalInterface.addCallback("getExternalMeetingID", handleGetExternalMeetingID);
ExternalInterface.addCallback("joinVoiceRequest", handleJoinVoiceRequest);
@@ -55,8 +58,22 @@ package org.bigbluebutton.main.api
ExternalInterface.addCallback("lockLayout", handleSendLockLayoutRequest);
}
}
-
-
+
+ private function handleGetMyUserInfoAsynch():void {
+ _dispatcher.dispatchEvent(new GetMyUserInfoRequestEvent());
+ }
+
+ private function handleGetMyUserInfoSynch():Object {
+ var obj:Object = new Object();
+ obj.myUserID = UsersUtil.internalUserIDToExternalUserID(UsersUtil.getMyUserID());
+ obj.myUserID = UsersUtil.getMyUsername();
+ obj.myAvatarURL = UsersUtil.getAvatarURL();
+ obj.myRole = UsersUtil.getMyRole();
+ obj.amIPresenter = UsersUtil.amIPresenter();
+
+ return obj;
+ }
+
private function handleAmISharingCameraRequestSync():Object {
var obj:Object = new Object();
var camSettings:CameraSettingsVO = UsersUtil.amIPublishing();
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as b/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as
index b65229f8ae..0e08ff857f 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as
@@ -3,15 +3,18 @@ package org.bigbluebutton.main.api
import flash.external.ExternalInterface;
import org.bigbluebutton.common.LogUtil;
+ import org.bigbluebutton.common.Role;
import org.bigbluebutton.core.EventConstants;
import org.bigbluebutton.core.UsersUtil;
import org.bigbluebutton.core.events.AmIPresenterQueryEvent;
import org.bigbluebutton.core.events.AmISharingWebcamQueryEvent;
import org.bigbluebutton.core.events.CoreEvent;
+ import org.bigbluebutton.core.events.GetMyUserInfoRequestEvent;
import org.bigbluebutton.core.events.SwitchedLayoutEvent;
import org.bigbluebutton.core.managers.UserManager;
import org.bigbluebutton.core.vo.CameraSettingsVO;
import org.bigbluebutton.main.events.BBBEvent;
+ import org.bigbluebutton.main.events.SwitchedPresenterEvent;
import org.bigbluebutton.main.events.UserJoinedEvent;
import org.bigbluebutton.main.events.UserLeftEvent;
import org.bigbluebutton.main.model.users.BBBUser;
@@ -22,7 +25,19 @@ package org.bigbluebutton.main.api
public class ExternalApiCalls {
-
+
+ public function handleGetMyUserInfoRequest(event:GetMyUserInfoRequestEvent):void {
+ var payload:Object = new Object();
+ payload.eventName = EventConstants.GET_MY_USER_INFO_REP;
+ payload.myUserID = UsersUtil.internalUserIDToExternalUserID(UsersUtil.getMyUserID());
+ payload.myUsername = UsersUtil.getMyUsername();
+ payload.myAvatarURL = UsersUtil.getAvatarURL();
+ payload.myRole = UsersUtil.getMyRole();
+ payload.amIPresenter = UsersUtil.amIPresenter();
+
+ broadcastEvent(payload);
+ }
+
public function handleSwitchedLayoutEvent(event:SwitchedLayoutEvent):void {
var payload:Object = new Object();
payload.eventName = EventConstants.SWITCHED_LAYOUT;
@@ -89,12 +104,20 @@ package org.bigbluebutton.main.api
broadcastEvent(payload);
}
- public function handleSwitchToNewRoleEvent(event:CoreEvent):void {
- trace("Got NEW ROLE EVENT role = [" + event.message.role + "]");
+ public function handleSwitchToNewRoleEvent(event:SwitchedPresenterEvent):void {
+ trace("ExternalApiCalls:: Got NEW ROLE EVENT presenter = [" + event.amIPresenter + "]");
var payload:Object = new Object();
payload.eventName = EventConstants.SWITCHED_PRESENTER;
- payload.role = event.message.role;
- broadcastEvent(payload);
+ payload.amIPresenter = event.amIPresenter;
+ payload.role = event.amIPresenter ? Role.PRESENTER : Role.VIEWER;
+ payload.newPresenterUserID = event.newPresenterUserID;
+ broadcastEvent(payload);
+
+ payload.eventName = EventConstants.NEW_ROLE;
+ payload.amIPresenter = event.amIPresenter;
+ payload.newPresenterUserID = event.newPresenterUserID;
+ payload.role = event.amIPresenter ? Role.PRESENTER : Role.VIEWER;
+ broadcastEvent(payload);
}
public function handleStartPrivateChatEvent(event:CoreEvent):void {
@@ -116,7 +139,7 @@ package org.bigbluebutton.main.api
payload.eventName = EventConstants.USER_JOINED_VOICE;
payload.userID = UsersUtil.internalUserIDToExternalUserID(event.payload.userID);
- trace("Notifying external API that [" + UsersUtil.getUserName(event.payload.userID) + "] has joined the voice conference.");
+ trace("ExternalApiCalls:: Notifying external API that [" + UsersUtil.getUserName(event.payload.userID) + "] has joined the voice conference.");
broadcastEvent(payload);
}
@@ -127,7 +150,7 @@ package org.bigbluebutton.main.api
payload.userID = UsersUtil.internalUserIDToExternalUserID(event.payload.userID);
payload.muted = event.payload.muted;
- trace("Notifying external API that [" + UsersUtil.getUserName(event.payload.userID) + "] is now muted=[" + payload.muted + "]");
+ trace("ExternalApiCalls:: Notifying external API that [" + UsersUtil.getUserName(event.payload.userID) + "] is now muted=[" + payload.muted + "]");
broadcastEvent(payload);
}
@@ -137,7 +160,7 @@ package org.bigbluebutton.main.api
payload.userID = UsersUtil.internalUserIDToExternalUserID(event.payload.userID);
payload.locked = event.payload.locked;
- trace("Notifying external API that [" + UsersUtil.getUserName(event.payload.userID) + "] is now locked=[" + payload.locked + "]");
+ trace("ExternalApiCalls:: Notifying external API that [" + UsersUtil.getUserName(event.payload.userID) + "] is now locked=[" + payload.locked + "]");
broadcastEvent(payload);
}
@@ -146,7 +169,7 @@ package org.bigbluebutton.main.api
payload.eventName = EventConstants.USER_LEFT_VOICE;
payload.userID = UsersUtil.internalUserIDToExternalUserID(event.payload.userID);
- trace("Notifying external API that [" + UsersUtil.getUserName(event.payload.userID) + "] has left the voice conference.");
+ trace("ExternalApiCalls:: Notifying external API that [" + UsersUtil.getUserName(event.payload.userID) + "] has left the voice conference.");
broadcastEvent(payload);
}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/api/maps/ExternalApiEventMap.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/api/maps/ExternalApiEventMap.mxml
index e97632ccdb..a311230e4f 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/main/api/maps/ExternalApiEventMap.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/api/maps/ExternalApiEventMap.mxml
@@ -26,10 +26,11 @@
import org.bigbluebutton.core.EventConstants;
import org.bigbluebutton.core.events.AmIPresenterQueryEvent;
import org.bigbluebutton.core.events.AmISharingWebcamQueryEvent;
+ import org.bigbluebutton.core.events.GetMyUserInfoRequestEvent;
import org.bigbluebutton.core.events.SwitchedLayoutEvent;
import org.bigbluebutton.main.api.ExternalApiCalls;
import org.bigbluebutton.main.events.BBBEvent;
- import org.bigbluebutton.main.events.MadePresenterEvent;
+ import org.bigbluebutton.main.events.SwitchedPresenterEvent;
import org.bigbluebutton.main.events.UserJoinedEvent;
import org.bigbluebutton.main.events.UserLeftEvent;
import org.bigbluebutton.main.model.users.events.BroadcastStartedEvent;
@@ -82,6 +83,10 @@
+
+
+
+
@@ -98,7 +103,7 @@
-
+
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/events/SwitchedPresenterEvent.as b/bigbluebutton-client/src/org/bigbluebutton/main/events/SwitchedPresenterEvent.as
new file mode 100755
index 0000000000..f12f6378e6
--- /dev/null
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/events/SwitchedPresenterEvent.as
@@ -0,0 +1,17 @@
+package org.bigbluebutton.main.events
+{
+ import flash.events.Event;
+
+ public class SwitchedPresenterEvent extends Event
+ {
+ public static const SWITCHED_PRESENTER:String = "switched presenter event";
+
+ public var amIPresenter:Boolean;
+ public var newPresenterUserID:String;
+
+ public function SwitchedPresenterEvent(bubbles:Boolean=true, cancelable:Boolean=false)
+ {
+ super(SWITCHED_PRESENTER, bubbles, cancelable);
+ }
+ }
+}
\ No newline at end of file
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/BigBlueButtonPreloader.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/BigBlueButtonPreloader.as
index 732de2c850..6d0ba31752 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/main/model/BigBlueButtonPreloader.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/BigBlueButtonPreloader.as
@@ -33,15 +33,14 @@ package org.bigbluebutton.main.model
public function BigBlueButtonPreloader()
{
super();
- downloadingLabel = "Downloading BigBlueButton...";
- initializingLabel = "BigBlueButton starting...";
+ downloadingLabel = "Downloading ...";
+ initializingLabel = "Starting...";
MINIMUM_DISPLAY_TIME = 0;
}
override public function set preloader(value:Sprite):void{
super.preloader = value;
value.addEventListener(RSLEvent.RSL_ERROR, sharedLibraryLoadingFailed);
-// ResourceUtil.getInstance();
}
override protected function get labelRect():Rectangle{
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as
index b96d515b10..67ea880461 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as
@@ -208,7 +208,11 @@ package org.bigbluebutton.main.model.users {
public function amIThisUser(userID:String):Boolean {
return me.userID == userID;
}
-
+
+ public function getMyRole():String {
+ return me.role;
+ }
+
public function amIModerator():Boolean {
return me.role == Role.MODERATOR;
}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UsersSOService.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UsersSOService.as
index fc2c3edbd0..d2bfba40dd 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UsersSOService.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UsersSOService.as
@@ -17,14 +17,12 @@
*
*/
package org.bigbluebutton.main.model.users {
- import com.asfusion.mate.events.Dispatcher;
-
+ import com.asfusion.mate.events.Dispatcher;
import flash.events.AsyncErrorEvent;
import flash.events.NetStatusEvent;
import flash.net.NetConnection;
import flash.net.Responder;
- import flash.net.SharedObject;
-
+ import flash.net.SharedObject;
import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.common.Role;
import org.bigbluebutton.core.BBB;
@@ -36,6 +34,7 @@ package org.bigbluebutton.main.model.users {
import org.bigbluebutton.main.events.LogoutEvent;
import org.bigbluebutton.main.events.MadePresenterEvent;
import org.bigbluebutton.main.events.PresenterStatusEvent;
+ import org.bigbluebutton.main.events.SwitchedPresenterEvent;
import org.bigbluebutton.main.events.UserJoinedEvent;
import org.bigbluebutton.main.events.UserLeftEvent;
import org.bigbluebutton.main.model.ConferenceParameters;
@@ -165,23 +164,26 @@ package org.bigbluebutton.main.model.users {
* Called by the server to assign a presenter
*/
public function assignPresenterCallback(userid:String, name:String, assignedBy:String):void {
- trace("assignPresenterCallback " + userid + "," + name + "," + assignedBy);
- var dispatcher:Dispatcher = new Dispatcher();
+ trace("**** assignPresenterCallback [" + userid + "," + name + "," + assignedBy + "]");
+
var meeting:Conference = UserManager.getInstance().getConference();
+
if (meeting.amIThisUser(userid)) {
+ trace("**** Switching [" + name + "] to presenter");
+ sendSwitchedPresenterEvent(true, userid);
+
meeting.setMePresenter(true);
var e:MadePresenterEvent = new MadePresenterEvent(MadePresenterEvent.SWITCH_TO_PRESENTER_MODE);
e.userid = userid;
e.presenterName = name;
e.assignerBy = assignedBy;
- dispatcher.dispatchEvent(e);
- trace("Switching to [" + e.presenterName + "] to presenter");
- var roleEvent:CoreEvent = new CoreEvent(EventConstants.SWITCHED_PRESENTER);
- roleEvent.message.role = Role.PRESENTER;
- dispatcher.dispatchEvent(roleEvent);
+ dispatcher.dispatchEvent(e);
+
+ } else {
+ trace("**** Switching [" + name + "] to presenter. I am viewer.");
+ sendSwitchedPresenterEvent(false, userid);
- } else {
meeting.setMePresenter(false);
var viewerEvent:MadePresenterEvent = new MadePresenterEvent(MadePresenterEvent.SWITCH_TO_VIEWER_MODE);
viewerEvent.userid = userid;
@@ -189,14 +191,17 @@ package org.bigbluebutton.main.model.users {
viewerEvent.assignerBy = assignedBy;
dispatcher.dispatchEvent(viewerEvent);
-
- trace("Switching to [" + e.presenterName + "] to presenter. I am viewer.");
- var newRoleEvent:CoreEvent = new CoreEvent(EventConstants.SWITCHED_PRESENTER);
- newRoleEvent.message.role = Role.VIEWER;
- dispatcher.dispatchEvent(newRoleEvent);
}
}
+ private function sendSwitchedPresenterEvent(amIPresenter:Boolean, newPresenterUserID:String):void {
+
+ var roleEvent:SwitchedPresenterEvent = new SwitchedPresenterEvent();
+ roleEvent.amIPresenter = amIPresenter;
+ roleEvent.newPresenterUserID = newPresenterUserID;
+ dispatcher.dispatchEvent(roleEvent);
+ }
+
public function kickUser(userid:String):void{
_participantsSO.send("kickUserCallback", userid);
}
@@ -212,7 +217,7 @@ package org.bigbluebutton.main.model.users {
UserManager.getInstance().getConference().removeUser(userID);
- var dispatcher:Dispatcher = new Dispatcher();
+
var joinEvent:UserLeftEvent = new UserLeftEvent(UserLeftEvent.LEFT);
joinEvent.userID = user.userID;
dispatcher.dispatchEvent(joinEvent);
@@ -233,7 +238,7 @@ package org.bigbluebutton.main.model.users {
participantStatusChange(user.userID, "presenter", joinedUser.status.presenter);
participantStatusChange(user.userID, "raiseHand", joinedUser.status.raiseHand);
- var dispatcher:Dispatcher = new Dispatcher();
+
var joinEvent:UserJoinedEvent = new UserJoinedEvent(UserJoinedEvent.JOINED);
joinEvent.userID = user.userID;
dispatcher.dispatchEvent(joinEvent);
@@ -244,7 +249,7 @@ package org.bigbluebutton.main.model.users {
* Called by the server to tell the client that the meeting has ended.
*/
public function logout():void {
- var dispatcher:Dispatcher = new Dispatcher();
+
var endMeetingEvent:BBBEvent = new BBBEvent(BBBEvent.END_MEETING_EVENT);
dispatcher.dispatchEvent(endMeetingEvent);
}
@@ -260,7 +265,7 @@ package org.bigbluebutton.main.model.users {
if (status == "presenter"){
var e:PresenterStatusEvent = new PresenterStatusEvent(PresenterStatusEvent.PRESENTER_NAME_CHANGE);
e.userID = userID;
- var dispatcher:Dispatcher = new Dispatcher();
+
dispatcher.dispatchEvent(e);
}
}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/MicSettings.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/MicSettings.mxml
index fdc02cea62..8c52144320 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/main/views/MicSettings.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/MicSettings.mxml
@@ -1,6 +1,7 @@
+ width="600" height="300" creationComplete="initDefaultMic()" styleName="micSettingsStyle"
+ showCloseButton="true" close="onCancelClicked()" keyDown="handleKeyDown(event)">
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatMessageRenderer.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatMessageRenderer.mxml
index cf6cc4b5e8..70cdddbd69 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatMessageRenderer.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatMessageRenderer.mxml
@@ -36,8 +36,9 @@
private function onLinkClick(e:TextEvent):void{
trace("Clicked on link[" + e.text + "] from chat");
- var url:URLRequest = new URLRequest(e.text);
- navigateToURL(url, '_blank');
+ if (ExternalInterface.available) {
+ ExternalInterface.call("chatLinkClicked", e.text);
+ }
}
private function onCreationComplete():void{
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as
index aad685d1ac..e21ab0da9d 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as
@@ -19,8 +19,7 @@
*/
package org.bigbluebutton.modules.layout.managers
{
- import com.asfusion.mate.events.Dispatcher;
-
+ import com.asfusion.mate.events.Dispatcher;
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.TimerEvent;
@@ -28,15 +27,12 @@ package org.bigbluebutton.modules.layout.managers
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.utils.Dictionary;
- import flash.utils.Timer;
-
+ import flash.utils.Timer;
import flexlib.mdi.containers.MDICanvas;
import flexlib.mdi.containers.MDIWindow;
- import flexlib.mdi.events.MDIManagerEvent;
-
+ import flexlib.mdi.events.MDIManagerEvent;
import mx.controls.Alert;
- import mx.events.ResizeEvent;
-
+ import mx.events.ResizeEvent;
import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.core.EventBroadcaster;
import org.bigbluebutton.core.events.SwitchedLayoutEvent;
@@ -200,7 +196,6 @@ package org.bigbluebutton.modules.layout.managers
applyLayout(newLayout);
sendLayoutUpdate(_currentLayout);
- dispatchSwitchedLayoutEvent(newLayout.name);
}
public function applyDefaultLayout():void {
@@ -210,8 +205,7 @@ package org.bigbluebutton.modules.layout.managers
var defaultLayout:LayoutDefinition = _layouts.getLayout(layoutOptions.defaultLayout);
var sessionDefaulLayout:String = UserManager.getInstance().getConference().getDefaultLayout();
-
-
+
if (sessionDefaulLayout != "NOLAYOUT") {
var sesLayout:LayoutDefinition = _layouts.getLayout(sessionDefaulLayout);
if (sesLayout != null) {
@@ -226,11 +220,13 @@ package org.bigbluebutton.modules.layout.managers
trace("************** USING [" + defaultLayout.name + "] as default LAYOUT ***************************");
applyLayout(defaultLayout);
sendLayoutUpdate(_currentLayout);
-
- dispatchSwitchedLayoutEvent(defaultLayout.name);
+
}
private function dispatchSwitchedLayoutEvent(layoutID:String):void {
+ if (_currentLayout != null && _currentLayout.name == layoutID) return;
+
+ trace("************** DISPATCHING [" + layoutID + "] as new LAYOUT ***************************");
var layoutEvent:SwitchedLayoutEvent = new SwitchedLayoutEvent();
layoutEvent.layoutID = layoutID;
_globalDispatcher.dispatchEvent(layoutEvent);
@@ -253,8 +249,11 @@ package org.bigbluebutton.modules.layout.managers
private function applyLayout(layout:LayoutDefinition):void {
_detectContainerChange = false;
- if (layout != null)
- layout.applyToCanvas(_canvas);
+ if (layout != null) {
+ layout.applyToCanvas(_canvas);
+ dispatchSwitchedLayoutEvent(layout.name);
+ }
+
updateCurrentLayout(layout);
_detectContainerChange = true;
}
@@ -262,8 +261,9 @@ package org.bigbluebutton.modules.layout.managers
public function redefineLayout(e:RedefineLayoutEvent):void {
var layout:LayoutDefinition = e.layout;
applyLayout(layout);
- if (!e.remote)
- sendLayoutUpdate(layout);
+ if (!e.remote) {
+ sendLayoutUpdate(layout);
+ }
}
public function remoteLockLayout():void {
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as b/bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as
index fea809c7d9..7136933e70 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as
@@ -192,7 +192,7 @@ package org.bigbluebutton.modules.layout.model {
if (!ignoreWindowByType(type)) {
- trace("LayoutDefinition::applyToWindow [" + window.name + ", type=" + type + "]");
+// trace("LayoutDefinition::applyToWindow [" + window.name + ", type=" + type + "]");
WindowLayout.setLayout(canvas, window, myLayout[type]);
}
}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/notes/views/NoteRenderer.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/notes/views/NoteRenderer.mxml
index a6e9878707..95a62b0725 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/notes/views/NoteRenderer.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/notes/views/NoteRenderer.mxml
@@ -63,7 +63,7 @@
-
+
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/business/PresentSOService.as b/bigbluebutton-client/src/org/bigbluebutton/modules/present/business/PresentSOService.as
index cbfaf303c8..5c2b80c9be 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/business/PresentSOService.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/business/PresentSOService.as
@@ -425,6 +425,7 @@ package org.bigbluebutton.modules.present.business {
var meeting:Conference = UserManager.getInstance().getConference();
if (meeting.amIPresenter()) {
LogUtil.debug("trigger Switch to Presenter mode ");
+ trace("PresentSOService:: trigger Switch to Presenter mode ");
var e:MadePresenterEvent = new MadePresenterEvent(MadePresenterEvent.SWITCH_TO_PRESENTER_MODE);
e.userid = meeting.getMyUserId();
e.presenterName = meeting.getMyName();
@@ -436,6 +437,7 @@ package org.bigbluebutton.modules.present.business {
var p:BBBUser = meeting.getPresenter();
if (p != null) {
LogUtil.debug("trigger Switch to Viewer mode ");
+ trace("PresentSOService:: trigger Switch to Presenter mode ");
var viewerEvent:MadePresenterEvent = new MadePresenterEvent(MadePresenterEvent.SWITCH_TO_VIEWER_MODE);
viewerEvent.userid = p.userID;
viewerEvent.presenterName = p.name;
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as
index 639ad3b1a7..43af43fc29 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as
@@ -18,15 +18,12 @@
*/
package org.bigbluebutton.modules.present.managers
{
- import com.asfusion.mate.events.Dispatcher;
-
- import mx.managers.PopUpManager;
-
+ import com.asfusion.mate.events.Dispatcher;
+ import mx.managers.PopUpManager;
import org.bigbluebutton.common.IBbbModuleWindow;
import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.common.events.OpenWindowEvent;
import org.bigbluebutton.core.managers.UserManager;
- import org.bigbluebutton.main.events.MadePresenterEvent;
import org.bigbluebutton.main.model.users.BBBUser;
import org.bigbluebutton.main.model.users.Conference;
import org.bigbluebutton.main.model.users.events.RoleChangeEvent;
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml
index d0a9151e56..3c9d1b90b3 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/FileUploadWindow.mxml
@@ -23,7 +23,7 @@
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMapDelegate.as b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMapDelegate.as
index 59f30fef24..6cdd0f347e 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMapDelegate.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMapDelegate.as
@@ -61,7 +61,7 @@ package org.bigbluebutton.modules.videoconf.maps
}
public function start():void {
- trace("[" + me + "] Video Module Started.");
+ trace("VideoEventMapDelegate:: [" + me + "] Video Module Started.");
}
public function stop():void {
@@ -69,17 +69,17 @@ package org.bigbluebutton.modules.videoconf.maps
}
public function viewCamera(userID:String, stream:String, name:String, mock:Boolean = false):void {
- trace("[" + me + "] viewCamera. ready = [" + _ready + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] viewCamera. ready = [" + _ready + "]");
if (!_ready) return;
- trace("[" + me + "] Viewing [" + userID + " stream [" + stream + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] Viewing [" + userID + " stream [" + stream + "]");
if (! UserManager.getInstance().getConference().amIThisUser(userID)) {
openViewWindowFor(userID);
}
}
public function handleUserLeftEvent(event:UserLeftEvent):void {
- trace("[" + me + "] handleUserLeftEvent. ready = [" + _ready + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] handleUserLeftEvent. ready = [" + _ready + "]");
if (!_ready) return;
@@ -87,7 +87,7 @@ package org.bigbluebutton.modules.videoconf.maps
}
public function handleUserJoinedEvent(event:UserJoinedEvent):void {
- trace("[" + me + "] handleUserJoinedEvent. ready = [" + _ready + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] handleUserJoinedEvent. ready = [" + _ready + "]");
if (!_ready) return;
@@ -111,38 +111,38 @@ package org.bigbluebutton.modules.videoconf.maps
}
private function openWebcamWindows():void {
- trace("[" + me + "] openWebcamWindows:: ready = [" + _ready + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] openWebcamWindows:: ready = [" + _ready + "]");
var uids:ArrayCollection = UsersUtil.getUserIDs();
for (var i:int = 0; i < uids.length; i++) {
var u:String = uids.getItemAt(i) as String;
- trace("[" + me + "] openWebcamWindows:: open window for = [" + u + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] openWebcamWindows:: open window for = [" + u + "]");
openWebcamWindowFor(u);
}
}
private function openWebcamWindowFor(userID:String):void {
- trace("[" + me + "] openWebcamWindowFor:: open window for = [" + userID + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] openWebcamWindowFor:: open window for = [" + userID + "]");
if (! UsersUtil.isMe(userID) && UsersUtil.hasWebcamStream(userID)) {
- trace("[" + me + "] openWebcamWindowFor:: Not ME and user = [" + userID + "] is publishing.");
+ trace("VideoEventMapDelegate:: [" + me + "] openWebcamWindowFor:: Not ME and user = [" + userID + "] is publishing.");
if (webcamWindows.hasWindow(userID)) {
- trace("[" + me + "] openWebcamWindowFor:: user = [" + userID + "] has a window open. Close it.");
+ trace("VideoEventMapDelegate:: [" + me + "] openWebcamWindowFor:: user = [" + userID + "] has a window open. Close it.");
closeWindow(userID);
}
- trace("[" + me + "] openWebcamWindowFor:: View user's = [" + userID + "] webcam.");
+ trace("VideoEventMapDelegate:: [" + me + "] openWebcamWindowFor:: View user's = [" + userID + "] webcam.");
openViewWindowFor(userID);
} else {
if (UsersUtil.isMe(userID) && options.autoStart) {
- trace("[" + me + "] openWebcamWindowFor:: It's ME and AutoStart. Start publishing.");
+ trace("VideoEventMapDelegate:: [" + me + "] openWebcamWindowFor:: It's ME and AutoStart. Start publishing.");
autoStart();
} else {
if (options.displayAvatar) {
- trace("[" + me + "] openWebcamWindowFor:: It's NOT ME and NOT AutoStart. Open Avatar for user = [" + userID + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] openWebcamWindowFor:: It's NOT ME and NOT AutoStart. Open Avatar for user = [" + userID + "]");
openAvatarWindowFor(userID);
} else {
- trace("[" + me + "] openWebcamWindowFor:: Is THERE another option for user = [" + userID + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] openWebcamWindowFor:: Is THERE another option for user = [" + userID + "]");
}
}
}
@@ -153,12 +153,12 @@ package org.bigbluebutton.modules.videoconf.maps
window.userID = userID;
window.title = UsersUtil.getUserName(userID);
- trace("[" + me + "] openAvatarWindowFor:: Closing window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] openAvatarWindowFor:: Closing window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
closeWindow(userID);
webcamWindows.addWindow(window);
- trace("[" + me + "] openAvatarWindowFor:: Opening AVATAR window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] openAvatarWindowFor:: Opening AVATAR window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
openWindow(window);
dockWindow(window);
@@ -175,12 +175,12 @@ package org.bigbluebutton.modules.videoconf.maps
publishWindow.resolutions = options.resolutions.split(",");
- trace("[" + me + "] openPublishWindowFor:: Closing window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] openPublishWindowFor:: Closing window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
closeWindow(userID);
webcamWindows.addWindow(publishWindow);
- trace("[" + me + "] openPublishWindowFor:: Opening PUBLISH window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] openPublishWindowFor:: Opening PUBLISH window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
openWindow(publishWindow);
dockWindow(publishWindow);
@@ -188,24 +188,24 @@ package org.bigbluebutton.modules.videoconf.maps
private function closeWindow(userID:String):void {
if (! webcamWindows.hasWindow(userID)) {
- trace("[" + me + "] closeWindow:: No window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] closeWindow:: No window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
return;
}
var win:VideoWindowItf = webcamWindows.removeWindow(userID);
if (win != null) {
- trace("[" + me + "] closeWindow:: Closing [" + win.getWindowType() + "] for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] closeWindow:: Closing [" + win.getWindowType() + "] for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
win.close();
var cwe:CloseWindowEvent = new CloseWindowEvent();
cwe.window = win;
_dispatcher.dispatchEvent(cwe);
} else {
- trace("[" + me + "] closeWindow:: Not Closing. No window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] closeWindow:: Not Closing. No window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
}
}
private function openViewWindowFor(userID:String):void {
- trace("[" + me + "] openViewWindowFor:: Opening VIEW window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] openViewWindowFor:: Opening VIEW window for [" + userID + "] [" + UsersUtil.getUserName(userID) + "]");
var window:VideoWindow = new VideoWindow();
window.userID = userID;
@@ -242,7 +242,7 @@ package org.bigbluebutton.modules.videoconf.maps
}
public function startPublishing(e:StartBroadcastEvent):void{
- LogUtil.debug("[" + me + "] startPublishing:: Publishing stream to: " + proxy.connection.uri + "/" + e.stream);
+ LogUtil.debug("VideoEventMapDelegate:: [" + me + "] startPublishing:: Publishing stream to: " + proxy.connection.uri + "/" + e.stream);
streamName = e.stream;
proxy.startPublishing(e);
@@ -260,7 +260,7 @@ package org.bigbluebutton.modules.videoconf.maps
}
public function stopPublishing(e:StopBroadcastEvent):void{
- trace("[" + me + "] Stop publishing. ready = [" + _ready + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] Stop publishing. ready = [" + _ready + "]");
stopBroadcasting();
}
@@ -280,7 +280,7 @@ package org.bigbluebutton.modules.videoconf.maps
closeWindow(UsersUtil.getMyUserID());
if (options.displayAvatar) {
- trace("[" + me + "] Opening avatar");
+ trace("VideoEventMapDelegate:: [" + me + "] Opening avatar");
openAvatarWindowFor(UsersUtil.getMyUserID());
}
}
@@ -317,7 +317,7 @@ package org.bigbluebutton.modules.videoconf.maps
}
public function switchToPresenter(event:MadePresenterEvent):void{
- trace("[" + me + "] Got Switch to presenter event. ready = [" + _ready + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] Got Switch to presenter event. ready = [" + _ready + "]");
if (!_ready) return;
@@ -327,7 +327,7 @@ package org.bigbluebutton.modules.videoconf.maps
}
public function switchToViewer(event:MadePresenterEvent):void{
- trace("[" + me + "] Got Switch to viewer event. ready = [" + _ready + "]");
+ trace("VideoEventMapDelegate:: [" + me + "] Got Switch to viewer event. ready = [" + _ready + "]");
if (!_ready) return;
@@ -340,7 +340,7 @@ package org.bigbluebutton.modules.videoconf.maps
}
public function connectedToVideoApp():void{
- trace("[" + me + "] Connected to video application.");
+ trace("VideoEventMapDelegate:: [" + me + "] Connected to video application.");
_ready = true;
addToolbarButton();
openWebcamWindows();
@@ -365,7 +365,7 @@ package org.bigbluebutton.modules.videoconf.maps
closeWindow(event.webcamUserID);
if (options.displayAvatar) {
- trace("[" + me + "] Opening avatar");
+ trace("VideoEventMapDelegate:: [" + me + "] Opening avatar");
openAvatarWindowFor(event.webcamUserID);
}
}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/AvatarWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/AvatarWindow.mxml
index 1838ce9874..6bee2c5e0e 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/AvatarWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/AvatarWindow.mxml
@@ -36,14 +36,14 @@
-
+
-
+
@@ -56,6 +56,7 @@
import org.bigbluebutton.core.events.CoreEvent;
import org.bigbluebutton.core.managers.UserManager;
import org.bigbluebutton.main.events.BBBEvent;
+ import org.bigbluebutton.main.events.SwitchedPresenterEvent;
import org.bigbluebutton.main.views.MainCanvas;
import org.bigbluebutton.modules.videoconf.business.TalkingButtonOverlay;
import org.bigbluebutton.modules.videoconf.events.CloseAllWindowsEvent;
@@ -124,8 +125,8 @@
autoPublishTimer.stop();
}
- private function handleNewRoleEvent(event:CoreEvent):void {
- switchRole(event.message.role == Role.PRESENTER)
+ private function handleNewRoleEvent(event:SwitchedPresenterEvent):void {
+ switchRole(event.amIPresenter)
}
private function handleUserVoiceMutedEvent(event:BBBEvent):void {
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/VideoWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/VideoWindow.mxml
index 529837030e..a1ca9ca4f5 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/VideoWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/VideoWindow.mxml
@@ -33,14 +33,17 @@
-
+