diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as b/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as index 23d96609fb9be5086f1d4be1f34b92e114e860cb..0e08ff857f0b9bf8a051579953b656af96bc2e77 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCalls.as @@ -105,7 +105,7 @@ package org.bigbluebutton.main.api } public function handleSwitchToNewRoleEvent(event:SwitchedPresenterEvent):void { - trace("Got NEW ROLE EVENT presenter = [" + event.amIPresenter + "]"); + trace("ExternalApiCalls:: Got NEW ROLE EVENT presenter = [" + event.amIPresenter + "]"); var payload:Object = new Object(); payload.eventName = EventConstants.SWITCHED_PRESENTER; payload.amIPresenter = event.amIPresenter; @@ -139,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); } @@ -150,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); } @@ -160,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); } @@ -169,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 04163efb3ba6a450b17d8a03e1cbce33c4b09e95..a311230e4f39aa0c41f6a2c049260ab1b86e9c60 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/api/maps/ExternalApiEventMap.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/api/maps/ExternalApiEventMap.mxml @@ -30,7 +30,6 @@ 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; 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 a609eb407f3a9f3ffc265972b1bf83fde1cbb2b2..d2bfba40dddef629885d816d910656989ce5ebd9 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UsersSOService.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/UsersSOService.as @@ -164,10 +164,14 @@ 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; @@ -175,11 +179,11 @@ package org.bigbluebutton.main.model.users { e.assignerBy = assignedBy; dispatcher.dispatchEvent(e); + + } else { + trace("**** Switching [" + name + "] to presenter. I am viewer."); + sendSwitchedPresenterEvent(false, userid); - trace("Switching to [" + e.presenterName + "] to presenter"); - sendSwitchedPresenterEvent(true, userid); - - } else { meeting.setMePresenter(false); var viewerEvent:MadePresenterEvent = new MadePresenterEvent(MadePresenterEvent.SWITCH_TO_VIEWER_MODE); viewerEvent.userid = userid; @@ -187,16 +191,13 @@ package org.bigbluebutton.main.model.users { viewerEvent.assignerBy = assignedBy; dispatcher.dispatchEvent(viewerEvent); - - trace("Switching to [" + e.presenterName + "] to presenter. I am viewer."); - sendSwitchedPresenterEvent(false, userid); } } private function sendSwitchedPresenterEvent(amIPresenter:Boolean, newPresenterUserID:String):void { - var dispatcher:Dispatcher = new Dispatcher(); + var roleEvent:SwitchedPresenterEvent = new SwitchedPresenterEvent(); - roleEvent.amIPresenter = true; + roleEvent.amIPresenter = amIPresenter; roleEvent.newPresenterUserID = newPresenterUserID; dispatcher.dispatchEvent(roleEvent); } @@ -216,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); @@ -237,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); @@ -248,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); } @@ -264,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/modules/layout/managers/LayoutManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as index 377471a7de41c3f73e4c6c61112b22f57a2c3e59..e21ab0da9d9d5befe39208514c6b5164b12b7f04 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as @@ -224,6 +224,8 @@ package org.bigbluebutton.modules.layout.managers } 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; 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 fea809c7d9140cc4ecb0b39c1e3b58a9fdfd3f09..7136933e70d999ebb8cc4a25e26b57ba90852bef 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/present/business/PresentSOService.as b/bigbluebutton-client/src/org/bigbluebutton/modules/present/business/PresentSOService.as index cbfaf303c8772346bba6247680bd8a98e36c7317..5c2b80c9be65298269ceee8724f43f4ac5a106dd 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 639ad3b1a70456c4d0554aa06005af61daea772d..43af43fc2947e206a8667c06b0b65048fe4aed09 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/videoconf/maps/VideoEventMapDelegate.as b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMapDelegate.as index 59f30fef2408a2c649e65566eb5659e237491f7e..6cdd0f347e827082ff2f49d20b5128e00b325c72 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); } }