Skip to content
This repository was archived by the owner on Sep 6, 2021. It is now read-only.

Commit 00123c4

Browse files
committed
Merge pull request #11469 from adobe/prafulVaishnav/fixIssue
Checking the registry if theme is present and then logging it.
2 parents aa2ae69 + 22a99f7 commit 00123c4

File tree

2 files changed

+53
-7
lines changed

2 files changed

+53
-7
lines changed

src/extensions/default/HealthData/HealthDataManager.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ define(function (require, exports, module) {
3636
uuid = require("thirdparty/uuid");
3737

3838
var prefs = PreferencesManager.getExtensionPrefs("healthData");
39-
var themesPref = PreferencesManager.getExtensionPrefs("themes");
4039

4140
prefs.definePreference("healthDataTracking", "boolean", true, {
4241
description: Strings.DESCRIPTION_HEALTH_DATA_TRACKING
@@ -71,15 +70,21 @@ define(function (require, exports, module) {
7170
oneTimeHealthData.osLanguage = brackets.app.language;
7271
oneTimeHealthData.bracketsLanguage = brackets.getLocale();
7372
oneTimeHealthData.bracketsVersion = brackets.metadata.version;
74-
oneTimeHealthData.bracketsTheme = themesPref.get("theme");
7573
$.extend(oneTimeHealthData, HealthLogger.getAggregatedHealthData());
7674

7775
HealthDataUtils.getUserInstalledExtensions()
7876
.done(function (userInstalledExtensions) {
7977
oneTimeHealthData.installedExtensions = userInstalledExtensions;
8078
})
8179
.always(function () {
82-
return result.resolve(oneTimeHealthData);
80+
HealthDataUtils.getUserInstalledTheme()
81+
.done(function (bracketsTheme) {
82+
oneTimeHealthData.bracketsTheme = bracketsTheme;
83+
})
84+
.always(function () {
85+
return result.resolve(oneTimeHealthData);
86+
});
87+
8388
});
8489

8590
return result.promise();

src/extensions/default/HealthData/HealthDataUtils.js

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,11 @@
2727
define(function (require, exports, module) {
2828
"use strict";
2929

30-
var ExtensionManager = brackets.getModule("extensibility/ExtensionManager"),
31-
_ = brackets.getModule("thirdparty/lodash");
30+
var _ = brackets.getModule("thirdparty/lodash"),
31+
ExtensionManager = brackets.getModule("extensibility/ExtensionManager"),
32+
PreferencesManager = brackets.getModule("preferences/PreferencesManager");
33+
34+
var themesPref = PreferencesManager.getExtensionPrefs("themes");
3235

3336

3437
/**
@@ -67,5 +70,43 @@ define(function (require, exports, module) {
6770
return result.promise();
6871
}
6972

70-
exports.getUserInstalledExtensions = getUserInstalledExtensions;
71-
});
73+
/**
74+
* Utility function to get the user installed theme which are present in the registry
75+
*/
76+
function getUserInstalledTheme() {
77+
var result = new $.Deferred();
78+
79+
var installedTheme = themesPref.get("theme"),
80+
bracketsTheme;
81+
82+
if (installedTheme === "light-theme" || installedTheme === "dark-theme") {
83+
return result.resolve(installedTheme);
84+
}
85+
86+
if (!ExtensionManager.hasDownloadedRegistry) {
87+
ExtensionManager.downloadRegistry().done(function () {
88+
bracketsTheme = ExtensionManager.extensions[installedTheme];
89+
if (bracketsTheme && bracketsTheme.installInfo && bracketsTheme.installInfo.locationType === ExtensionManager.LOCATION_USER && bracketsTheme.registryInfo) {
90+
result.resolve(installedTheme);
91+
} else {
92+
result.reject();
93+
}
94+
})
95+
.fail(function () {
96+
result.reject();
97+
});
98+
} else {
99+
bracketsTheme = ExtensionManager.extensions[installedTheme];
100+
if (bracketsTheme && bracketsTheme.installInfo && bracketsTheme.installInfo.locationType === ExtensionManager.LOCATION_USER && bracketsTheme.registryInfo) {
101+
result.resolve(installedTheme);
102+
} else {
103+
result.reject();
104+
}
105+
}
106+
107+
return result.promise();
108+
}
109+
110+
exports.getUserInstalledExtensions = getUserInstalledExtensions;
111+
exports.getUserInstalledTheme = getUserInstalledTheme;
112+
});

0 commit comments

Comments
 (0)