Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,128 @@
define(function(require) {
'use strict';
var SIMSlotManager = require('shared/simslot_manager');
var MobileOperator = require('shared/mobile_operator');
var Messaging = require('modules/messaging');
var SettingsPanel = require('modules/settings_panel');
var SettingsService = require('modules/settings_service');
var settings = window.navigator.mozSettings;
return function ctor_messaing_panel() {
var elements = {};
return SettingsPanel({
onInit: function(panel) {
elements.optionsContainer = panel.querySelector('.options-container');
elements.simcardsContainer = panel.querySelector('.simcards-container');
elements.sim1 = panel.querySelector('.sim1');
elements.sim2 = panel.querySelector('.sim2');
if (!SIMSlotManager.isMultiSIM()) {
return Promise.resolve()
.then(Messaging.injectCBSTemplate(elements.optionsContainer))
.then(Messaging.initCBS.bind(Messaging, panel, 0))
.then(Messaging.disableItems.bind(Messaging, panel))
.then(function() {
// smsc is lazy-loaded
if (!elements.smsc) {
elements.smsc = panel.querySelector('.smsc .explanation');
}
})
.then(this._updateSmsc.bind(null, 0))
.then(this._initDeliveryReportSettings);
}
},
onBeforeShow: function(panel) {
if (SIMSlotManager.isMultiSIM()) {
return Promise.resolve()
.then(Messaging.disableItems.bind(Messaging, panel))
.then(this._showDsds)
.then(this._initDeliveryReportSettings)
.then(this._initCarrierNames.bind(this))
.then(this._bindSimcardsClickEvent.bind(this));
}
},
_navigate: function(cardIndex) {
SettingsService.navigate('messaging-details', {
cardIndex: cardIndex
});
},
_bindSimcardsClickEvent: function() {
var max = SIMSlotManager.getSlots().length;
for (var cardIndex = 0; cardIndex < max; cardIndex++) {
var simNode = elements['sim' + (cardIndex + 1)];
if (!simNode.hasAttribute('aria-disabled')) {
simNode.onclick = this._navigate.bind(this, cardIndex);
}
}
},
_initDeliveryReportSettings: function() {
var requestStatusReportKeyForSms =
'ril.sms.requestStatusReport.enabled';
var requestStatusReportKeyForMms =
'ril.mms.requestStatusReport.enabled';
function setDeliveryReportSetting(key, value) {
var lock = settings.createLock();
var setting = {};
setting[key] = value;
lock.set(setting);
}
// Since delivery report for sms/mms should be the same, sync the value
// while initializing.
var request = settings.createLock().get(requestStatusReportKeyForSms);
request.onsuccess = function onSuccessCb() {
setDeliveryReportSetting(requestStatusReportKeyForMms,
request.result[requestStatusReportKeyForSms]);
};
// Keep both setting synced.
settings.addObserver(
requestStatusReportKeyForSms, function addObserverCb(event) {
setDeliveryReportSetting(requestStatusReportKeyForMms,
event.settingValue);
});
},
_initCarrierNames: function() {
var max = SIMSlotManager.getSlots().length;
for (var cardIndex = 0; cardIndex < max; cardIndex++) {
var simNode = elements['sim' + (cardIndex + 1)];
var holderNode = simNode.querySelector('small');
var conn = SIMSlotManager.getMobileConnection(cardIndex);
var operatorInfo = MobileOperator.userFacingInfo(conn);
holderNode.textContent = operatorInfo.operator || '';
}
},
_showDsds: function() {
var max = SIMSlotManager.getSlots().length;
for (var cardIndex = 0; cardIndex < max; cardIndex++) {
var simNode = elements['sim' + (cardIndex + 1)];
if (SIMSlotManager.isSIMCardAbsent(cardIndex)) {
simNode.setAttribute('aria-disabled', true);
} else {
simNode.removeAttribute('aria-disabled');
}
}
elements.simcardsContainer.hidden = false;
},
_updateSmsc: function(cardIndex) {
// cleanup first
elements.smsc.innerHTML = '';
SIMSlotManager.get(cardIndex).getSmsc(function(result) {
if (result) {
var bdi = document.createElement('bdi');
bdi.textContent = result;
elements.smsc.appendChild(bdi);
} else {
elements.smsc.setAttribute('data-l10n-id', 'unknown-SMSC');
}
});
}
});
};
});