Restore Gaia settings and media workflows, extend native network adapters, and align the APK payload. Generate French/English changelogs and website entries from the simplified JSON source. Validation: shared JS and Tundra unit tests; desktop workflows and persistence; signed APK payload parity; Sargo RAM and installed startup with boot readback. Android runtime qualification is recorded separately.
50 lines
1.9 KiB
JavaScript
50 lines
1.9 KiB
JavaScript
|
|
define('panels/wifi_status/panel',["require", "modules/dialog_panel", "shared/wifi_helper", "modules/wifi_context"],function(require) {
|
|
'use strict';
|
|
|
|
var DialogPanel = require('modules/dialog_panel');
|
|
var WifiHelper = require('shared/wifi_helper');
|
|
var WifiContext = require('modules/wifi_context');
|
|
var wifiManager = WifiHelper.getWifiManager();
|
|
|
|
return function ctor_statusWifi() {
|
|
var elements = {};
|
|
|
|
return DialogPanel({
|
|
onInit: function(panel) {
|
|
elements = {};
|
|
elements.ip = panel.querySelector('[data-ip]');
|
|
elements.speed = panel.querySelector('[data-speed]');
|
|
elements.ssid = panel.querySelector('[data-ssid]');
|
|
elements.signal = panel.querySelector('[data-signal]');
|
|
elements.security = panel.querySelector('[data-security]');
|
|
},
|
|
onBeforeShow: function(panel, options) {
|
|
this._updateNetworkInfo();
|
|
elements.ssid.textContent = options.network.ssid;
|
|
elements.signal.setAttribute('data-l10n-id',
|
|
'signalLevel' + options.sl);
|
|
if (options.security) {
|
|
elements.security.removeAttribute('data-l10n-id');
|
|
elements.security.textContent = options.security;
|
|
} else {
|
|
elements.security.setAttribute('data-l10n-id', 'securityNone');
|
|
}
|
|
|
|
WifiContext.addEventListener('wifiConnectionInfoUpdate',
|
|
this._updateNetworkInfo);
|
|
},
|
|
onBeforeHide: function() {
|
|
WifiContext.removeEventListener('wifiConnectionInfoUpdate',
|
|
this._updateNetworkInfo);
|
|
},
|
|
_updateNetworkInfo: function() {
|
|
var info = wifiManager.connectionInformation || {};
|
|
elements.ip.textContent = info.ipAddress || '';
|
|
document.l10n.setAttributes(elements.speed,
|
|
Number.isFinite(info.linkSpeed) ? 'linkSpeedMbs' : 'unavailable',
|
|
Number.isFinite(info.linkSpeed) ? { linkSpeed: info.linkSpeed } : {});
|
|
}
|
|
});
|
|
};
|
|
});
|