diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/api/APIEventMap.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/api/APIEventMap.mxml index 3a9ec537caa58bbd2025da25f5b74475fde98d95..b5870887bd865cbdb6f7c833fb453180a8673ec0 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/api/APIEventMap.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/api/APIEventMap.mxml @@ -7,6 +7,7 @@ import org.bigbluebutton.main.events.ParticipantJoinEvent; import org.bigbluebutton.main.events.PresenterStatusEvent; + import org.bigbluebutton.main.model.users.events.ConferenceCreatedEvent; private var userManager:UserManager = UserManager.getInstance(); @@ -18,6 +19,10 @@ private function presenterChanged(event:PresenterStatusEvent):void{ userManager.presenterChanged(event.userid); } + + private function conferenceCreated(e:ConferenceCreatedEvent):void{ + userManager.conferenceCreated(e.conference); + } ]]> </mx:Script> @@ -29,4 +34,8 @@ <InlineInvoker method="presenterChanged" arguments="{event}" /> </EventHandlers> + <EventHandlers type="{ConferenceCreatedEvent.CONFERENCE_CREATED_EVENT}" > + <InlineInvoker method="conferenceCreated" arguments="{event}" /> + </EventHandlers> + </EventMap> diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/api/UserManager.as b/bigbluebutton-client/src/org/bigbluebutton/main/api/UserManager.as index 516058184208488671627e451f723127a2815df5..27528e253181b2e295887b295a4d1ff36edc74d2 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/api/UserManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/api/UserManager.as @@ -4,6 +4,7 @@ package org.bigbluebutton.main.api import org.bigbluebutton.common.Role; import org.bigbluebutton.main.model.User; + import org.bigbluebutton.main.model.users.Conference; public class UserManager { @@ -13,6 +14,8 @@ package org.bigbluebutton.main.api private var users:ArrayCollection; + private var conference:Conference; + public function UserManager(enforcer:SingletonEnforcer) { if (enforcer == null){ @@ -62,6 +65,14 @@ package org.bigbluebutton.main.api return u; } + public function getConference():Conference{ + return this.conference; + } + + internal function conferenceCreated(conference:Conference):void{ + this.conference = conference; + } + internal function participantJoined(participant:User):void{ users.addItem(participant); for (var i:int = 0; i<listeners.length; i++){ diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/viewers/views/ViewersWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/viewers/views/ViewersWindow.mxml index 284f1f44560b753a33bef3ce83c224c7726797da..d963c606dba61c5a25306661b3ead84367d6df86 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/viewers/views/ViewersWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/viewers/views/ViewersWindow.mxml @@ -41,7 +41,9 @@ import org.bigbluebutton.common.Images; import org.bigbluebutton.common.Role; + import org.bigbluebutton.main.api.UserManager; import org.bigbluebutton.main.events.ParticipantJoinEvent; + import org.bigbluebutton.main.model.users.Conference; import org.bigbluebutton.main.model.users.events.ConferenceCreatedEvent; import org.bigbluebutton.main.model.users.events.RaiseHandEvent; import org.bigbluebutton.main.model.users.events.RoleChangeEvent; @@ -54,6 +56,7 @@ [Bindable] public var participants:ArrayCollection = new ArrayCollection(); + private var conference:Conference; [Bindable] public var isModerator:Boolean = false; @@ -70,6 +73,9 @@ private var handRaised:Boolean = false; private function onCreationComplete():void { + conference = UserManager.getInstance().getConference(); + participants = conference.users; + this.isModerator = (conference.me.role == Role.MODERATOR); BindingUtils.bindSetter(updateNumberOfViewers, participants, "length"); }