From 7a0ea71156e1efe0d7016145535f8358b4b326e0 Mon Sep 17 00:00:00 2001 From: Praful Kumar Vaishnav Date: Fri, 24 Jul 2015 15:29:38 +0530 Subject: [PATCH 1/2] Checking the registry is theme is present and then logging it. --- .../default/HealthData/HealthDataManager.js | 11 +++-- .../default/HealthData/HealthDataUtils.js | 47 +++++++++++++++++-- 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/src/extensions/default/HealthData/HealthDataManager.js b/src/extensions/default/HealthData/HealthDataManager.js index 9562a61a51e..09afbf15ff5 100644 --- a/src/extensions/default/HealthData/HealthDataManager.js +++ b/src/extensions/default/HealthData/HealthDataManager.js @@ -36,7 +36,6 @@ define(function (require, exports, module) { uuid = require("thirdparty/uuid"); var prefs = PreferencesManager.getExtensionPrefs("healthData"); - var themesPref = PreferencesManager.getExtensionPrefs("themes"); prefs.definePreference("healthDataTracking", "boolean", true, { description: Strings.DESCRIPTION_HEALTH_DATA_TRACKING @@ -71,7 +70,6 @@ define(function (require, exports, module) { oneTimeHealthData.osLanguage = brackets.app.language; oneTimeHealthData.bracketsLanguage = brackets.getLocale(); oneTimeHealthData.bracketsVersion = brackets.metadata.version; - oneTimeHealthData.bracketsTheme = themesPref.get("theme"); $.extend(oneTimeHealthData, HealthLogger.getAggregatedHealthData()); HealthDataUtils.getUserInstalledExtensions() @@ -79,7 +77,14 @@ define(function (require, exports, module) { oneTimeHealthData.installedExtensions = userInstalledExtensions; }) .always(function () { - return result.resolve(oneTimeHealthData); + HealthDataUtils.getUserInstalledTheme() + .done(function (bracketsTheme) { + oneTimeHealthData.bracketsTheme = bracketsTheme; + }) + .always(function () { + return result.resolve(oneTimeHealthData); + }); + }); return result.promise(); diff --git a/src/extensions/default/HealthData/HealthDataUtils.js b/src/extensions/default/HealthData/HealthDataUtils.js index 5ea7110db9f..86706ab6732 100644 --- a/src/extensions/default/HealthData/HealthDataUtils.js +++ b/src/extensions/default/HealthData/HealthDataUtils.js @@ -27,8 +27,11 @@ define(function (require, exports, module) { "use strict"; - var ExtensionManager = brackets.getModule("extensibility/ExtensionManager"), - _ = brackets.getModule("thirdparty/lodash"); + var ExtensionManager = brackets.getModule("extensibility/ExtensionManager"), + _ = brackets.getModule("thirdparty/lodash"), + PreferencesManager = brackets.getModule("preferences/PreferencesManager"); + + var themesPref = PreferencesManager.getExtensionPrefs("themes"); /** @@ -67,5 +70,43 @@ define(function (require, exports, module) { return result.promise(); } - exports.getUserInstalledExtensions = getUserInstalledExtensions; + /** + * Utility function to get the user installed theme which are present in the registry + */ + function getUserInstalledTheme() { + var result = new $.Deferred(); + + var installedTheme = themesPref.get("theme"), + bracketsTheme; + + if (installedTheme === "light-theme" || installedTheme === "dark-theme") { + return result.resolve(installedTheme); + } + + if (!ExtensionManager.hasDownloadedRegistry) { + ExtensionManager.downloadRegistry().done(function () { + bracketsTheme = ExtensionManager.extensions[installedTheme]; + if (bracketsTheme && bracketsTheme.installInfo && bracketsTheme.installInfo.locationType === ExtensionManager.LOCATION_USER && bracketsTheme.registryInfo) { + result.resolve(installedTheme); + } else { + result.reject(); + } + }) + .fail(function () { + result.reject(); + }); + } else { + bracketsTheme = ExtensionManager.extensions[installedTheme]; + if (bracketsTheme && bracketsTheme.installInfo && bracketsTheme.installInfo.locationType === ExtensionManager.LOCATION_USER && bracketsTheme.registryInfo) { + result.resolve(installedTheme); + } else { + result.reject(); + } + } + + return result.promise(); + } + + exports.getUserInstalledExtensions = getUserInstalledExtensions; + exports.getUserInstalledTheme = getUserInstalledTheme; }); \ No newline at end of file From 22a99f73478dad4c2546771cdc8665f15b030564 Mon Sep 17 00:00:00 2001 From: Praful Kumar Vaishnav Date: Fri, 24 Jul 2015 15:33:33 +0530 Subject: [PATCH 2/2] Indentation Changes. Adding newline at end of file. --- src/extensions/default/HealthData/HealthDataUtils.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/extensions/default/HealthData/HealthDataUtils.js b/src/extensions/default/HealthData/HealthDataUtils.js index 86706ab6732..2b7678fb091 100644 --- a/src/extensions/default/HealthData/HealthDataUtils.js +++ b/src/extensions/default/HealthData/HealthDataUtils.js @@ -27,8 +27,8 @@ define(function (require, exports, module) { "use strict"; - var ExtensionManager = brackets.getModule("extensibility/ExtensionManager"), - _ = brackets.getModule("thirdparty/lodash"), + var _ = brackets.getModule("thirdparty/lodash"), + ExtensionManager = brackets.getModule("extensibility/ExtensionManager"), PreferencesManager = brackets.getModule("preferences/PreferencesManager"); var themesPref = PreferencesManager.getExtensionPrefs("themes"); @@ -109,4 +109,4 @@ define(function (require, exports, module) { exports.getUserInstalledExtensions = getUserInstalledExtensions; exports.getUserInstalledTheme = getUserInstalledTheme; -}); \ No newline at end of file +});