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,99 @@
'use strict';
function bluetoothTest() {
var bluetooth = window.navigator.mozBluetooth;
var settings = window.navigator.mozSettings;
var switchButton = document.getElementById('switch');
var state = document.getElementById('state');
var address = document.getElementById('address');
var version = document.getElementById('version');
var btHelper = new BluetoothHelper();
function update() {
var req = settings.createLock().get('bluetooth.enabled');
req.onsuccess = function() {
var isBluetoothEnabled = req.result['bluetooth.enabled'];
switchButton.checked = isBluetoothEnabled;
if (!isBluetoothEnabled) {
state.innerHTML = 'Off';
address.innerHTML = 'unknown';
}
else {
state.innerHTML = 'On';
if (!btHelper.v2) {
btHelper.getAddress(function bt_gotAddress(addr) {
if (isBluetoothEnabled) {
address.innerHTML = addr;
}
});
}
}
};
}
// Click on switch will only update settings and
// it takes some time for bluetooth hardware to turns on.
// That's why we should listen to 'enabled' event of bluetooth
function bluetoothSwitch() {
settings.createLock().set({'bluetooth.enabled': switchButton.checked});
// set enabled stat for BT APIv2
if (switchButton.checked) {
btHelper.enable();
} else {
btHelper.disable();
}
}
if (btHelper.v2) {
version.textContent = "v2";
bluetooth.addEventListener('attributechanged', (evt) => {
for (var i in evt.attrs) {
switch (evt.attrs[i]) {
case 'defaultAdapter':
var adapter = bluetooth.defaultAdapter;
if (adapter.address) { // for default On case
address.innerHTML = adapter.address;
}
adapter.addEventListener('attributechanged', (evt) => {
for (var i in evt.attrs) {
switch (evt.attrs[i]) {
case 'state':
if (adapter.state === 'enabled') {
switchButton.checked = true;
state.innerHTML = 'On';
} else if (adapter.state === 'disabled') {
switchButton.checked = false;
state.innerHTML = 'Off';
address.innerHTML = 'unknown';
}
break;
case 'address':
address.innerHTML = adapter.address;
break;
default:
break;
}
}
});
break;
default:
break;
}
}
});
} else {
version.textContent = "v1";
bluetooth.addEventListener('adapteradded', update);
bluetooth.addEventListener('enabled', update);
bluetooth.addEventListener('disabled', update);
}
// init
switchButton.addEventListener('click', bluetoothSwitch);
// Update bluetooth information in the first load
update();
}
window.addEventListener('load', bluetoothTest);