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,20 @@
;(function(exports){'use strict';const WIFI_STATUS={connecting:'connecting',associated:'associated',connected:'connected',connectingfailed:'connectingfailed',disconnected:'disconnected'};var WifiManager={STATUS:Object.freeze(WIFI_STATUS),init:function wn_init(){this.api=WifiHelper.getWifiManager();this.changeStatus();if(navigator.mozSettings){var lock=window.navigator.mozSettings.createLock();this.enable(lock);this.enableDebugging(lock);}
this.gCurrentNetwork=this.api?this.api.connection.network:null;if(this.gCurrentNetwork!==null){this.api.forget(this.gCurrentNetwork);this.gCurrentNetwork=null;}},getNetworks:function wn_getNetworks(callback){this.networks?callback(this.networks):this.scan(callback);},scan:function wn_scan(callback){if(this._scanning){return;}
this._scanning=true;utils.overlay.show('scanningNetworks','spinner');var SCAN_TIMEOUT=10000;var self=this;self.onScan=callback;var req=this.api?this.api.getNetworks():null;if(!req){setTimeout(function(){self._scanning=false;callback();});return;}
var handleRequest=function handleRequest(){self._scanning=false;clearTimeout(self.scanTimeout);self.scanTimeout=null;self.onScan(self.networks);self.onScan=null;};req.onsuccess=function onScanSuccess(){self.networks=req.result;handleRequest();};req.onerror=function onScanError(){console.error('Error reading networks: '+req.error.name);self.networks=[];handleRequest();};if(!self.scanTimeout){self.scanTimeout=setTimeout(function(){self._scanning=false;console.warn('Timeout while reading networks');self.onScan();},SCAN_TIMEOUT);}},enable:function wn_enable(lock){lock.set({'wifi.enabled':true});},enableDebugging:function wn_enableDebugging(lock){this._prevDebuggingValue=false;var req=lock.get('wifi.debugging.enabled');req.onsuccess=function wn_getDebuggingSuccess(){this._prevDebuggingValue=req.result['wifi.debugging.enabled'];};lock.set({'wifi.debugging.enabled':true});},finish:function wn_finish(){if(!this._prevDebuggingValue&&navigator.mozSettings){var resetLock=window.navigator.mozSettings.createLock();resetLock.set({'wifi.debugging.enabled':false});}},getNetwork:function wm_gn(ssid){var list=this.networks;for(var i=0;i<list.length;i++){if(list[i].ssid===ssid){return list[i];}}
return null;},connect:function wn_connect(ssid,password,user){var network=this.getNetwork(ssid);if(!network){console.error('Network not found');return;}
this.ssid=ssid;WifiHelper.setPassword(network,password,user,'PEAP');this.gCurrentNetwork=network;this.api.associate(network);},changeStatus:function wn_cs(callback){var self=this;if(WifiManager.api){WifiManager.api.onstatuschange=function(event){if(event.status===WifiManager.STATUS.disconnected&&self.onScan){self.scan(self.onScan);}else{WifiUI.updateNetworkStatus(event.network.ssid,event.status);}};}}};var WifiUI={joinNetwork:function wui_jn(){var password=document.getElementById('wifi_password').value;var user=document.getElementById('wifi_user').value;var ssid=document.getElementById('wifi_ssid').value;WifiUI.connect(ssid,password,user);window.history.back();},joinHiddenNetwork:function wui_jhn(){var password=UIManager.hiddenWifiPassword.value;var user=UIManager.hiddenWifiIdentity.value;var ssid=UIManager.hiddenWifiSsid.value;var security=UIManager.hiddenWifiSecurity.value;var network;if(ssid.length){if(!Array.isArray(WifiManager.networks)){WifiManager.networks=[];}
network=new window.MozWifiNetwork({ssid:ssid,capabilities:[],security:[security],relSignalStrength:0,hidden:true});WifiManager.networks.push(network);this.renderNetworks(WifiManager.networks);WifiUI.connect(ssid,password,user);}
window.history.back();},_selectNetworkItem:function(ssid,isSelected=true){var elem=document.getElementById(ssid);if(!elem){return;}
if(isSelected){elem.setAttribute('data-wifi-selected',true);}else{var icon=elem.querySelector('aside');elem.removeAttribute('data-wifi-selected');elem.classList.remove('connected');icon.classList.remove('connecting');icon.classList.remove('connected');var security=elem.dataset.security;var securityLevelDOM=elem.querySelector('p[data-security-level]');securityLevelDOM.setAttribute('data-l10n-id',security?security:'securityOpen');}},connect:function wui_connect(ssid,password,user){var newWifi=document.getElementById(ssid);Array.from(document.querySelectorAll('li[data-wifi-selected]')).forEach((networkSelected)=>{this._selectNetworkItem(networkSelected,networkSelected===newWifi);});WifiManager.connect(ssid,password,user);},chooseNetwork:function wui_cn(event){var ssid=event.target.dataset.ssid;var selectedNetwork=WifiManager.getNetwork(ssid);if(!selectedNetwork){console.error('Network not found');return;}
if(WifiHelper.isOpen(selectedNetwork)){WifiUI.connect(ssid);return;}
UIManager.activationScreen.classList.add('no-options');UIManager.mainTitle.textContent=ssid;var ssidHeader=document.getElementById('wifi_ssid');var userInput=document.getElementById('wifi_user');var passwordInput=document.getElementById('wifi_password');var showPassword=document.querySelector('gaia-checkbox[name=show_password]');var joinButton=UIManager.wifiJoinButton;joinButton.disabled=true;passwordInput.addEventListener('input',function validatePassword(){joinButton.disabled=!WifiHelper.isValidInput(WifiHelper.getKeyManagement(selectedNetwork),passwordInput.value,userInput.value);});passwordInput.type='password';passwordInput.value='';showPassword.checked=false;showPassword.addEventListener('change',e=>{passwordInput.type=e.target.checked?'text':'password';});passwordInput.value='';ssidHeader.value=ssid;UIManager.navBar.classList.add('secondary-menu');if(WifiHelper.isEap(selectedNetwork)){userInput.parentNode.classList.remove('hidden');}else{userInput.parentNode.classList.add('hidden');}
window.location.hash='#configure_network';},addHiddenNetwork:function wui_addHiddenNetwork(){UIManager.activationScreen.classList.add('no-options');UIManager.mainTitle.setAttribute('data-l10n-id','authentication');UIManager.navBar.classList.add('secondary-menu');UIManager.hiddenWifiSsid.value='';UIManager.hiddenWifiPassword.value='';UIManager.hiddenWifiIdentity.value='';UIManager.wifiJoinButton.disabled=true;window.location.hash='#hidden-wifi-authentication';},handleHiddenWifiSecurity:function wui_handleSecurity(securityType){if(securityType===''){UIManager.hiddenWifiPasswordBox.classList.add('hidden');}else{UIManager.hiddenWifiPasswordBox.classList.remove('hidden');}
if(securityType.indexOf('EAP')!==-1){UIManager.hiddenWifiIdentityBox.classList.remove('hidden');}else{UIManager.hiddenWifiIdentityBox.classList.add('hidden');}},renderNetworks:function wui_rn(networks){var networksDOM=document.getElementById('networks');networksDOM.innerHTML='';var networksList;if(!networks||networks.length===0){var noResult='<div id="no-result-container">'+' <div id="no-result-message">'+' <p data-l10n-id="noWifiFound3"></p>'+' </div>'+'</div>';networksDOM.innerHTML=noResult;}else{networksList=document.createElement('ul');networksList.id='networks-list';networksList.setAttribute('role','listbox');networksList.setAttribute('data-l10n-id','networksList');var networksShown=[];networks.sort(function(a,b){return b.relSignalStrength-a.relSignalStrength;});for(var i=0,max=networks.length;i<max;i++){var network=networks[i];if(networksShown.indexOf(network.ssid)===-1){var li=document.createElement('li');var icon=document.createElement('aside');var ssidp=document.createElement('p');ssidp.setAttribute('dir','auto');var small=document.createElement('p');small.dataset.securityLevel=true;icon.classList.add('pack-end');icon.classList.add('wifi-icon');var level=Math.min(Math.floor(network.relSignalStrength/20),4);icon.classList.add('level-'+level);document.l10n.setAttributes(icon,'wifiLevel',{level:level});icon.setAttribute('role','presentation');ssidp.textContent=network.ssid;li.dataset.ssid=network.ssid;var keys=WifiHelper.getSecurity(network);li.dataset.security=keys;if(!WifiHelper.isOpen(network)){small.textContent=keys.join(', ');icon.classList.add('secured');}else{small.setAttribute('data-l10n-id','securityOpen');}
icon.classList.add('wifi-signal');var connectionStatus=WifiHelper.getNetworkStatus(network)||WifiManager.STATUS.disconnected;li.dataset.status=connectionStatus;if(connectionStatus===WifiManager.STATUS.connected){small.setAttribute('data-l10n-id','shortStatus-connected');small.removeAttribute('aria-label');icon.classList.add('connected');li.classList.add('connected');li.dataset.wifiSelected=true;}
networksShown.push(network.ssid);li.setAttribute('id',network.ssid);li.setAttribute('role','option');li.setAttribute('aria-live',true);li.setAttribute('aria-relevant','text');li.appendChild(ssidp);li.appendChild(small);li.appendChild(icon);if(WifiHelper.isConnected(network)){networksList.insertBefore(li,networksList.firstChild);}else{networksList.appendChild(li);}}}
networksList.dataset.type='list';networksDOM.appendChild(networksList);}
utils.overlay.hide();},updateNetworkStatus:function wui_uns(ssid,status){var element=document.getElementById(ssid);if(!element){return;}
if(status===WifiManager.STATUS.connecting&&ssid!==WifiManager.ssid){return;}
element.dataset.status=status;if(status!==WifiManager.STATUS.disconnected){element.querySelector('p[data-security-level]').setAttribute('data-l10n-id','shortStatus-'+status);}else{var security=element.dataset.security||'Open';element.querySelector('p[data-security-level]').setAttribute('data-l10n-id','security'+security);element.classList.remove('connected');}
var icon=element.querySelector('aside');switch(status){case WifiManager.STATUS.connecting:case WifiManager.STATUS.associated:icon.classList.add('connecting');break;case WifiManager.STATUS.connected:icon.classList.remove('connecting');var networksList=document.getElementById('networks-list');icon.classList.add('connected');element.classList.add('connected');networksList.removeChild(element);networksList.insertBefore(element,networksList.firstChild);break;default:icon.classList.remove('connecting');icon.classList.remove('connected');break;}}};exports.WifiManager=WifiManager;exports.WifiUI=WifiUI;})(window);