From b5af206a43ee3e2ed212761052e1db2b783455ea Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Wed, 22 Jul 2015 19:08:13 +0100 Subject: [PATCH] Updated application lifecycle : the application configuration is loaded before displaying the main application shell, all loaded resources will then be able to access the configuration without any issue. --- bigbluebutton-client/src/BigBlueButton.mxml | 10 ++-- .../src/BigBlueButtonMainContainer.mxml | 8 --- .../org/bigbluebutton/core/BBBApplication.as | 58 +++++++++++++++++++ .../main/views/MainApplicationShell.mxml | 1 - 4 files changed, 62 insertions(+), 15 deletions(-) create mode 100644 bigbluebutton-client/src/org/bigbluebutton/core/BBBApplication.as diff --git a/bigbluebutton-client/src/BigBlueButton.mxml b/bigbluebutton-client/src/BigBlueButton.mxml index bd8cbfd374..e1b260fe38 100755 --- a/bigbluebutton-client/src/BigBlueButton.mxml +++ b/bigbluebutton-client/src/BigBlueButton.mxml @@ -19,12 +19,10 @@ You should have received a copy of the GNU Lesser General Public License along with BigBlueButton; if not, see . --> - - - - - + + diff --git a/bigbluebutton-client/src/BigBlueButtonMainContainer.mxml b/bigbluebutton-client/src/BigBlueButtonMainContainer.mxml index 51546cb56c..b2473d3eca 100755 --- a/bigbluebutton-client/src/BigBlueButtonMainContainer.mxml +++ b/bigbluebutton-client/src/BigBlueButtonMainContainer.mxml @@ -71,18 +71,10 @@ with BigBlueButton; if not, see . protected function init():void { setupTooltips(); setupAPI(); - EventBroadcaster.getInstance().addEventListener("configLoadedEvent", configLoadedEventHandler); - BBB.initConfigManager(); BBB.initVideoProfileManager(); globalModifier = ExternalInterface.call("determineGlobalModifier"); } - private function configLoadedEventHandler(e:Event):void { - LogUtil.debug("***** Config Loaded ****"); - mainShell.initOptions(null); - ShortcutOptions.initialize(); - } - private var api:ExternalApiCallbacks; private function setupAPI():void { diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/BBBApplication.as b/bigbluebutton-client/src/org/bigbluebutton/core/BBBApplication.as new file mode 100644 index 0000000000..7a87ca94f8 --- /dev/null +++ b/bigbluebutton-client/src/org/bigbluebutton/core/BBBApplication.as @@ -0,0 +1,58 @@ +/** + * BigBlueButton open source conferencing system - http://www.bigbluebutton.org/ + * + * Copyright (c) 2015 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + * + */ +package org.bigbluebutton.core +{ + import flash.events.Event; + + import mx.core.Application; + import mx.events.FlexEvent; + + import org.bigbluebutton.common.LogUtil; + import org.bigbluebutton.main.model.ShortcutOptions; + + public class BBBApplication extends Application + { + + public var bbbShell:BigBlueButtonMainContainer; + + public function BBBApplication() + { + super(); + + addEventListener(FlexEvent.PREINITIALIZE, preinitializeEventHandler); + } + + private function preinitializeEventHandler(event:FlexEvent):void + { + EventBroadcaster.getInstance().addEventListener("configLoadedEvent", configLoadedEventHandler); + BBB.initConfigManager(); + } + + private function configLoadedEventHandler(e:Event):void + { + LogUtil.debug("***** Config Loaded ****"); + + bbbShell=new BigBlueButtonMainContainer(); + this.addChild(bbbShell); + + bbbShell.mainShell.initOptions(null); + ShortcutOptions.initialize(); + } + } +} diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml index 0361bb606e..645e6f1be8 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml @@ -42,7 +42,6 @@ with BigBlueButton; if not, see . -