From d316f014eb9f048d7af0ea68741cf1af18614461 Mon Sep 17 00:00:00 2001 From: milad Date: Wed, 4 Sep 2019 15:51:07 -0700 Subject: [PATCH 1/8] fixed double scriptEnding being called --- .../emojiApp/simplifiedEmoji.js | 20 ++++++------------- .../simplifiedEmote/simplifiedEmote.js | 1 - 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js index d3ec9da32d..709f0c9aeb 100644 --- a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js +++ b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js @@ -416,7 +416,6 @@ function init() { Window.domainChanged.connect(onDomainChanged); MyAvatar.scaleChanged.connect(onScaleChanged); - Script.scriptEnding.connect(scriptEnding); signalsConnected = true; } @@ -431,18 +430,6 @@ function init() { // ************************************* // #region cleanup - -function scriptEnding() { - resetEmojis(); - if (signalsConnected) { - Script.scriptEnding.disconnect(scriptEnding); - Window.domainChanged.disconnect(onDomainChanged); - MyAvatar.scaleChanged.disconnect(onScaleChanged); - signalsConnected = false; - } -} - - // #endregion // ************************************* // END cleanup @@ -476,7 +463,12 @@ function addEmojiFromQML(code) { } function unload() { - scriptEnding(); + resetEmojis(); + if (signalsConnected) { + Window.domainChanged.disconnect(onDomainChanged); + MyAvatar.scaleChanged.disconnect(onScaleChanged); + signalsConnected = false; + } } function startup() { diff --git a/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js b/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js index ab2cef7cb2..2fcb3dbb15 100644 --- a/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js +++ b/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js @@ -587,7 +587,6 @@ function init() { Controller.keyReleaseEvent.connect(keyReleaseHandler); keyPressSignalsConnected = true; - Script.scriptEnding.connect(shutdown); } From 79b72717297c5b7442d2a34c9f5f5213e259f472 Mon Sep 17 00:00:00 2001 From: milad Date: Wed, 4 Sep 2019 16:48:24 -0700 Subject: [PATCH 2/8] removed startup/unload apis from the 3 main modules --- .../emojiApp/simplifiedEmoji.js | 35 +++++++-------- .../simplifiedEmote/simplifiedEmote.js | 44 ++----------------- .../ui/simplifiedNametag/simplifiedNametag.js | 20 +++++---- .../simplifiedStatusIndicator.js | 29 +++++++----- scripts/simplifiedUI/ui/simplifiedUI.js | 25 +++-------- 5 files changed, 56 insertions(+), 97 deletions(-) diff --git a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js index 709f0c9aeb..cd443a79ba 100644 --- a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js +++ b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js @@ -388,11 +388,13 @@ function playPopAnimation() { var emojiCodeMap; var customEmojiCodeMap; var signalsConnected = false; -function init() { +var _this; +function startup() { // make a map of just the utf codes to help with accesing emojiCodeMap = emojiList.reduce(function (codeMap, currentEmojiInList, index) { if ( currentEmojiInList && + currentEmojiInList.code && currentEmojiInList.code.length > 0 && currentEmojiInList.code[UTF_CODE]) { @@ -414,9 +416,22 @@ function init() { pruneOldAvimojis(); + Script.scriptEnding.connect(unload); Window.domainChanged.connect(onDomainChanged); MyAvatar.scaleChanged.connect(onScaleChanged); signalsConnected = true; + + function AviMoji() { + _this = this; + this._avimojiQMLWindow; + } + + AviMoji.prototype = { + addEmoji: addEmojiFromQML, + registerAvimojiQMLWindow: registerAvimojiQMLWindow + }; + + return new AviMoji(); } @@ -440,12 +455,6 @@ function init() { // ************************************* // #region API -var _this; -function AviMoji() { - _this = this; - this._avimojiQMLWindow; -} - function registerAvimojiQMLWindow(avimojiQMLWindow) { this._avimojiQMLWindow = avimojiQMLWindow; } @@ -471,17 +480,7 @@ function unload() { } } -function startup() { - init(); -} - -AviMoji.prototype = { - startup: startup, - addEmoji: addEmojiFromQML, - unload: unload, - registerAvimojiQMLWindow: registerAvimojiQMLWindow -}; - +var AviMoji = startup(); module.exports = AviMoji; diff --git a/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js b/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js index 2fcb3dbb15..d1396c8ccf 100644 --- a/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js +++ b/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js @@ -544,8 +544,7 @@ function onDisplayModeChanged(isHMDMode) { } -var EmojiAPI = Script.require("./emojiApp/simplifiedEmoji.js"); -var emojiAPI = new EmojiAPI(); +var emojiAPI = Script.require("./emojiApp/simplifiedEmoji.js"); var keyPressSignalsConnected = false; var emojiCodeMap; var customEmojiCodeMap; @@ -578,7 +577,6 @@ function init() { Window.minimizedChanged.connect(onWindowMinimizedChanged); Window.geometryChanged.connect(onGeometryChanged); HMD.displayModeChanged.connect(onDisplayModeChanged); - emojiAPI.startup(); getSounds(); handleEmoteIndicatorVisibleChanged(true); @@ -586,11 +584,11 @@ function init() { Controller.keyPressEvent.connect(keyPressHandler); Controller.keyReleaseEvent.connect(keyReleaseHandler); keyPressSignalsConnected = true; - + Script.scriptEnding.connect(unload); } -function shutdown() { +function unload() { if (emoteAppBarWindow) { emoteAppBarWindow.fromQml.disconnect(onMessageFromEmoteAppBar); emoteAppBarWindow.close(); @@ -605,7 +603,6 @@ function shutdown() { endReactionWrapper(react); }); - emojiAPI.unload(); maybeClearClapSoundInterval(); maybeClearReticleUpdateLimiterTimeout(); maybeDeleteRemoteIndicatorTimeout(); @@ -758,37 +755,4 @@ function toggleEmojiApp() { // END EMOJI // ************************************* -// ************************************* -// START API -// ************************************* -// #region API - - -function startup() { - init(); -} - - -function unload() { - shutdown(); -} - -var _this; -function EmoteBar() { - _this = this; -} - - -EmoteBar.prototype = { - startup: startup, - unload: unload -}; - -module.exports = EmoteBar; - - -// #endregion -// ************************************* -// END API -// ************************************* - +init(); \ No newline at end of file diff --git a/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js b/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js index beea979170..daca429a09 100644 --- a/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js +++ b/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js @@ -47,15 +47,24 @@ function onAvatarAdded(uuid) { } -// Called on init +// Create a new nametag list manager, connect signals, and return back a new Nametag object. var avatarNametagMode; function startup() { nameTagListManager.create(); handleAvatarNametagMode(Settings.getValue("simplifiedNametag/avatarNametagMode", "on")); + Script.scriptEnding.connect(unload); Window.domainChanged.connect(onDomainChange); AvatarManager.avatarRemovedEvent.connect(onAvatarRemoved); AvatarManager.avatarAddedEvent.connect(onAvatarAdded); + + function NameTag() {} + + NameTag.prototype = { + handleAvatarNametagMode: handleAvatarNametagMode + }; + + return new NameTag(); } @@ -82,15 +91,10 @@ function handleAvatarNametagMode(newAvatarNameTagMode) { // ************************************* // #region api -function NameTag() {} -NameTag.prototype = { - startup: startup, - unload: unload, - handleAvatarNametagMode: handleAvatarNametagMode -}; +var nameTag = startup(); -module.exports = NameTag; +module.exports = nameTag; // #endregion diff --git a/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js b/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js index 2b401c5bc5..ad41a836f0 100644 --- a/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js +++ b/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js @@ -8,7 +8,7 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html -function simplifiedStatusIndicator(properties) { +function SimplifiedStatusIndicator() { var that = this; var DEBUG = false; @@ -125,6 +125,16 @@ function simplifiedStatusIndicator(properties) { // #region SIGNALS + function updateProperties(properties) { + // Overwrite with the given properties + var overwriteableKeys = ["statusChanged"]; + Object.keys(properties).forEach(function (key) { + if (overwriteableKeys.indexOf(key) > -1) { + that[key] = properties[key]; + } + }); + } + var currentStatus = "available"; // Default is available function toggleStatus() { if (currentStatus === "busy") { @@ -207,6 +217,8 @@ function simplifiedStatusIndicator(properties) { Window.domainChanged.connect(onDomainChanged); getStatus(setStatus); + + Script.scriptEnding.connect(unload); } @@ -224,20 +236,13 @@ function simplifiedStatusIndicator(properties) { // #endregion APP LIFETIME - that.startup = startup; - that.unload = unload; that.toggleStatus = toggleStatus; that.setStatus = setStatus; that.getLocalStatus = getLocalStatus; that.statusChanged = statusChanged; - - // Overwrite with the given properties - var overwriteableKeys = ["statusChanged"]; - Object.keys(properties).forEach(function (key) { - if (overwriteableKeys.indexOf(key) > -1) { - that[key] = properties[key]; - } - }); + that.updateProperties = updateProperties; + + startup(); } -module.exports = simplifiedStatusIndicator; \ No newline at end of file +module.exports = new SimplifiedStatusIndicator(); \ No newline at end of file diff --git a/scripts/simplifiedUI/ui/simplifiedUI.js b/scripts/simplifiedUI/ui/simplifiedUI.js index 803c6627c0..7ec42ee72b 100644 --- a/scripts/simplifiedUI/ui/simplifiedUI.js +++ b/scripts/simplifiedUI/ui/simplifiedUI.js @@ -583,12 +583,11 @@ function restoreLODSettings() { } -var SimplifiedNametag = Script.require("./simplifiedNametag/simplifiedNametag.js?" + Date.now()); -var SimplifiedStatusIndicator = Script.require("./simplifiedStatusIndicator/simplifiedStatusIndicator.js?" + Date.now()); -var SimplifiedEmote = Script.require("../simplifiedEmote/simplifiedEmote.js?" + Date.now()); -var si; -var nametag; -var emote; +var nametag = Script.require("./simplifiedNametag/simplifiedNametag.js?" + Date.now()); +var si = Script.require("./simplifiedStatusIndicator/simplifiedStatusIndicator.js?" + Date.now()) +var emote = Script.require("../simplifiedEmote/simplifiedEmote.js?" + Date.now()); +// var nametag; +// var emote; var oldShowAudioTools; var oldShowBubbleTools; var keepExistingUIAndScriptsSetting = Settings.getValue("simplifiedUI/keepExistingUIAndScripts", false); @@ -607,16 +606,8 @@ function startup() { loadSimplifiedTopBar(); - si = new SimplifiedStatusIndicator({ - statusChanged: onStatusChanged - }); - si.startup(); - nametag = new SimplifiedNametag(); - nametag.startup(); - - emote = new SimplifiedEmote(); - emote.startup(); + si.updateProperties({ statusChanged: onStatusChanged }); updateInputDeviceMutedOverlay(Audio.muted); updateOutputDeviceMutedOverlay(isOutputMuted()); @@ -665,10 +656,6 @@ function shutdown() { maybeDeleteInputDeviceMutedOverlay(); maybeDeleteOutputDeviceMutedOverlay(); - nametag.unload(); - si.unload(); - emote.unload(); - Audio.mutedDesktopChanged.disconnect(onDesktopInputDeviceMutedChanged); Audio.mutedHMDChanged.disconnect(onHMDInputDeviceMutedChanged); Window.geometryChanged.disconnect(onGeometryChanged); From 252e8a2ed6c24cf3d6bb3e1ea72a118e85a5bb18 Mon Sep 17 00:00:00 2001 From: milad Date: Wed, 4 Sep 2019 16:49:46 -0700 Subject: [PATCH 3/8] removed commented out code --- scripts/simplifiedUI/ui/simplifiedUI.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/simplifiedUI/ui/simplifiedUI.js b/scripts/simplifiedUI/ui/simplifiedUI.js index 7ec42ee72b..c388c594c9 100644 --- a/scripts/simplifiedUI/ui/simplifiedUI.js +++ b/scripts/simplifiedUI/ui/simplifiedUI.js @@ -586,8 +586,6 @@ function restoreLODSettings() { var nametag = Script.require("./simplifiedNametag/simplifiedNametag.js?" + Date.now()); var si = Script.require("./simplifiedStatusIndicator/simplifiedStatusIndicator.js?" + Date.now()) var emote = Script.require("../simplifiedEmote/simplifiedEmote.js?" + Date.now()); -// var nametag; -// var emote; var oldShowAudioTools; var oldShowBubbleTools; var keepExistingUIAndScriptsSetting = Settings.getValue("simplifiedUI/keepExistingUIAndScripts", false); From 3f2d2996a079582a52a3d86055a9c1ba122ef6c1 Mon Sep 17 00:00:00 2001 From: milad Date: Wed, 4 Sep 2019 16:59:14 -0700 Subject: [PATCH 4/8] removed comment region sections --- .../simplifiedEmote/emojiApp/simplifiedEmoji.js | 10 ---------- .../ui/simplifiedNametag/simplifiedNametag.js | 11 ----------- 2 files changed, 21 deletions(-) diff --git a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js index cd443a79ba..517a4ffe79 100644 --- a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js +++ b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js @@ -440,16 +440,6 @@ function startup() { // END main // ************************************* -// ************************************* -// START cleanup -// ************************************* -// #region cleanup - -// #endregion -// ************************************* -// END cleanup -// ************************************* - // ************************************* // START API // ************************************* diff --git a/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js b/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js index daca429a09..15ce8a83f6 100644 --- a/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js +++ b/scripts/simplifiedUI/ui/simplifiedNametag/simplifiedNametag.js @@ -86,18 +86,7 @@ function handleAvatarNametagMode(newAvatarNameTagMode) { } -// ************************************* -// START api -// ************************************* -// #region api - - var nameTag = startup(); module.exports = nameTag; - -// #endregion -// ************************************* -// END api -// ************************************* \ No newline at end of file From c73ea11b37b4d35eb7ca9409308b1f9bd2a2d67c Mon Sep 17 00:00:00 2001 From: milad Date: Wed, 4 Sep 2019 17:00:30 -0700 Subject: [PATCH 5/8] lowecase object --- .../simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js index 517a4ffe79..6d9c452162 100644 --- a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js +++ b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js @@ -470,9 +470,9 @@ function unload() { } } -var AviMoji = startup(); +var aviMoji = startup(); -module.exports = AviMoji; +module.exports = aviMoji; // #endregion // ************************************* From 408656f6ec1a830b5d2e6d470adaa76df2cfa957 Mon Sep 17 00:00:00 2001 From: milad Date: Wed, 4 Sep 2019 17:06:00 -0700 Subject: [PATCH 6/8] added line break --- .../ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js b/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js index ad41a836f0..d9331c62a3 100644 --- a/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js +++ b/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js @@ -86,6 +86,7 @@ function SimplifiedStatusIndicator() { }); } + // Get status from database function getStatus(callback) { var queryParamString = "type=getStatus"; @@ -135,6 +136,7 @@ function SimplifiedStatusIndicator() { }); } + var currentStatus = "available"; // Default is available function toggleStatus() { if (currentStatus === "busy") { From 57a309db537a47f973d47e3f1ee1d9dd82d9e0be Mon Sep 17 00:00:00 2001 From: milad Date: Wed, 4 Sep 2019 20:58:20 -0700 Subject: [PATCH 7/8] small formatting changes --- .../emojiApp/simplifiedEmoji.js | 23 ++++--------------- .../simplifiedEmote/simplifiedEmote.js | 5 ++-- 2 files changed, 7 insertions(+), 21 deletions(-) diff --git a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js index 6d9c452162..a0fe6cf811 100644 --- a/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js +++ b/scripts/simplifiedUI/simplifiedEmote/emojiApp/simplifiedEmoji.js @@ -394,7 +394,6 @@ function startup() { emojiCodeMap = emojiList.reduce(function (codeMap, currentEmojiInList, index) { if ( currentEmojiInList && - currentEmojiInList.code && currentEmojiInList.code.length > 0 && currentEmojiInList.code[UTF_CODE]) { @@ -423,7 +422,7 @@ function startup() { function AviMoji() { _this = this; - this._avimojiQMLWindow; + this._avimojiQMLWindow = null; } AviMoji.prototype = { @@ -435,20 +434,11 @@ function startup() { } -// #endregion -// ************************************* -// END main -// ************************************* - -// ************************************* -// START API -// ************************************* -// #region API - function registerAvimojiQMLWindow(avimojiQMLWindow) { this._avimojiQMLWindow = avimojiQMLWindow; } + function addEmojiFromQML(code) { var emojiObject = emojiList[emojiCodeMap[code]]; var emojiFilename; @@ -461,6 +451,7 @@ function addEmojiFromQML(code) { handleSelectedEmoji(emojiFilename); } + function unload() { resetEmojis(); if (signalsConnected) { @@ -470,11 +461,7 @@ function unload() { } } + var aviMoji = startup(); -module.exports = aviMoji; - -// #endregion -// ************************************* -// END API -// ************************************* \ No newline at end of file +module.exports = aviMoji; \ No newline at end of file diff --git a/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js b/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js index d1396c8ccf..abf0dd73e8 100644 --- a/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js +++ b/scripts/simplifiedUI/simplifiedEmote/simplifiedEmote.js @@ -38,7 +38,6 @@ var customEmojiList = Script.require("./emojiApp/resources/modules/customEmojiLi // #region EMOTE_UTILITY - function updateEmoteAppBarPosition() { if (!emoteAppBarWindow) { return; @@ -548,7 +547,7 @@ var emojiAPI = Script.require("./emojiApp/simplifiedEmoji.js"); var keyPressSignalsConnected = false; var emojiCodeMap; var customEmojiCodeMap; -function init() { +function setup() { deleteOldReticles(); // make a map of just the utf codes to help with accesing @@ -755,4 +754,4 @@ function toggleEmojiApp() { // END EMOJI // ************************************* -init(); \ No newline at end of file +setup(); \ No newline at end of file From 531dceae4d13f221b99ee02f3fb12f504d112305 Mon Sep 17 00:00:00 2001 From: milad Date: Thu, 5 Sep 2019 10:29:25 -0700 Subject: [PATCH 8/8] changed status indicator to be similar to nametag and emoji --- .../ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js b/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js index d9331c62a3..4d06ecc99b 100644 --- a/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js +++ b/scripts/simplifiedUI/ui/simplifiedStatusIndicator/simplifiedStatusIndicator.js @@ -247,4 +247,6 @@ function SimplifiedStatusIndicator() { startup(); } -module.exports = new SimplifiedStatusIndicator(); \ No newline at end of file +var simplifiedStatusIndicator = new SimplifiedStatusIndicator(); + +module.exports = simplifiedStatusIndicator; \ No newline at end of file