Backout 1ff975b6a290 for errors showing up in logcat.
Backout 1ff975b6a290 for errors showing up in logcat.
--- a/b2g/chrome/content/settings.js
+++ b/b2g/chrome/content/settings.js
@@ -141,16 +141,17 @@ Components.utils.import('resource://gre/
// from configure.in, defaults to 1.0.0 if this value is not exist.
#filter attemptSubstitution
let os_version = '@MOZ_B2G_VERSION@';
let os_name = '@MOZ_B2G_OS_NAME@';
#unfilter attemptSubstitution
let appInfo = Cc["@mozilla.org/xre/app-info;1"]
.getService(Ci.nsIXULAppInfo);
+ let update_channel = Services.prefs.getCharPref('app.update.channel');
// Get the hardware info and firmware revision from device properties.
let hardware_info = null;
let firmware_revision = null;
let product_model = null;
#ifdef MOZ_WIDGET_GONK
hardware_info = libcutils.property_get('ro.hardware');
firmware_revision = libcutils.property_get('ro.firmware_revision');
@@ -158,16 +159,17 @@ Components.utils.import('resource://gre/
#endif
let software = os_name + ' ' + os_version;
let setting = {
'deviceinfo.os': os_version,
'deviceinfo.software': software,
'deviceinfo.platform_version': appInfo.platformVersion,
'deviceinfo.platform_build_id': appInfo.platformBuildID,
+ 'deviceinfo.update_channel': update_channel,
'deviceinfo.hardware': hardware_info,
'deviceinfo.firmware_revision': firmware_revision,
'deviceinfo.product_model': product_model
}
window.navigator.mozSettings.createLock().set(setting);
})();
// =================== DevTools ====================
@@ -539,17 +541,16 @@ function setUpdateTrackingId() {
Services.prefs.setCharPref('app.update.custom', trackingId);
}
} catch(e) {
dump('Error getting tracking ID ' + e + '\n');
}
}
setUpdateTrackingId();
-
// ================ Debug ================
(function Composer2DSettingToPref() {
//layers.composer.enabled can be enabled in three ways
//In order of precedence they are:
//
//1. mozSettings "layers.composer.enabled"
//2. a gecko pref "layers.composer.enabled"
//3. presence of ro.display.colorfill at the Gonk level
@@ -674,71 +675,48 @@ let settingsToObserve = {
defaultValue: false
},
'debug.paint-flashing.enabled': {
prefName: 'nglayout.debug.paint_flashing',
defaultValue: false
},
'layers.draw-borders': false,
'app.update.interval': 86400,
- 'app.update.url': {
- resetToPref: true
- },
- 'app.update.channel': {
- resetToPref: true
- },
'debug.log-animations.enabled': {
prefName: 'layers.offmainthreadcomposition.log-animations',
defaultValue: false
}
};
for (let key in settingsToObserve) {
let setting = settingsToObserve[key];
- // Allow setting to contain flags redefining prefName and defaultValue.
- let prefName = setting.prefName || key;
- let defaultValue = setting.defaultValue || setting;
-
- let prefs = Services.prefs;
-
- // If requested, reset setting value and defaultValue to the pref value.
- if (setting.resetToPref) {
- switch (prefs.getPrefType(prefName)) {
- case Ci.nsIPrefBranch.PREF_BOOL:
- defaultValue = prefs.getBoolPref(prefName);
- break;
+ // By default, assume the setting name and the pref name are the same.
+ let prefName = key;
+ let defaultValue = setting;
- case Ci.nsIPrefBranch.PREF_INT:
- defaultValue = prefs.getIntPref(prefName);
- break;
-
- case Ci.nsIPrefBranch.PREF_STRING:
- defaultValue = prefs.getCharPref(prefName);
- break;
- }
-
- let setting = {};
- setting[key] = defaultValue;
- window.navigator.mozSettings.createLock().set(setting);
+ // Check if the pref name has been overidden.
+ if (typeof setting == 'object') {
+ prefName = setting.prefName;
+ defaultValue = setting.defaultValue;
}
- // Figure out the right setter function for this type of pref.
- let setPref;
- switch(typeof defaultValue) {
+ switch (typeof defaultValue) {
case 'boolean':
- setPref = prefs.setBoolPref.bind(prefs);
+ SettingsListener.observe(key, defaultValue, function(value) {
+ Services.prefs.setBoolPref(prefName, value);
+ });
+ break;
+
+ case 'string':
+ SettingsListener.observe(key, defaultValue, function(value) {
+ Services.prefs.setCharPref(prefName, value);
+ });
break;
case 'number':
- setPref = prefs.setIntPref.bind(prefs);
- break;
-
- case 'string':
- setPref = prefs.setCharPref.bind(prefs);
+ SettingsListener.observe(key, defaultValue, function(value) {
+ Services.prefs.setIntPref(prefName, value);
+ });
break;
}
-
- SettingsListener.observe(key, defaultValue, function(value) {
- setPref(prefName, value);
- });
};