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,88 @@
'use strict';
/* global eme */
/* global Promise */
(function(exports) {
const mozSettings = navigator.mozSettings;
const DEBUG = true;
var initPromise = null;
var slice = Function.call.bind(Array.prototype.slice);
exports.eme = {
config: {
apiUrl: null
},
init: function init() {
if (initPromise) {
return initPromise;
}
initPromise = this.readSettings()
.then(
function success(settings) {
// config overrides
if (settings['appsearch.url']) {
this.config.apiUrl = settings['appsearch.url'];
}
// wait for device init
return this.device.init(settings);
}.bind(this),
function error(e) {
eme.log('fatal error accessing device settings', e);
}
).catch(function(e) {
eme.log('init failed', e);
});
// avoid multiple init calls
this.init = function noop() {
eme.log('init: noop');
return initPromise;
};
return initPromise;
},
readSettings: function readSettings() {
return new Promise(function ready(resolve, reject) {
var lock = mozSettings.createLock();
var request = lock.get('*');
request.onsuccess = function onsuccess() {
resolve(request.result);
};
request.onerror = function onerror() {
reject(request.error);
};
}.bind(this));
},
log: function log() {
if (DEBUG) {
var args = slice(arguments);
args.unshift('evme');
console.log.apply(console, args);
}
},
warn: function warn() {
var args = slice(arguments);
args.unshift('evme', 'WARNING');
console.warn.apply(console, args);
},
error: function error() {
var args = slice(arguments);
args.unshift('evme', 'ERROR');
console.error.apply(console, args);
}
};
})(window);