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,75 @@
'use strict';
(function(exports) {
var URI = ['', 'http://www.', 'https://www.', 'http://', 'https://', 'tel:',
'mailto:', 'ftp://anonymous:anonymous@', 'ftp://ftp.', 'ftps://', 'sftp://',
'smb://', 'nfs://', 'ftp://', 'dav://', 'news:', 'telnet://', 'imap:',
'rtsp://', 'urn:', 'pop:', 'sip:', 'sips:', 'tftp:', 'btspp://',
'btl2cap://', 'btgoep://', 'tcpobex://', 'irdaobex://', 'file://',
'urn:epc:id:', 'urn:epc:tag:', 'urn:epc:pat:', 'urn:epc:raw:', 'urn:epc:',
'urn:nfc:'];
function NDEFHelper() { }
NDEFHelper.prototype = {
/**
* Create MozNDEFRecord whose content is the uri.
*/
createURI: function nh_createURI(uri) {
var id = 0;
// start with 1 since index 0 is ''.
for (var i = 1; i < URI.length; i++) {
if (uri.startsWith(URI[i])) {
id = i;
}
}
uri = String.fromCharCode(id) + uri.substring(URI[id].length);
var enc = new TextEncoder('utf-8');
return new MozNDEFRecord({tnf: 'well-known',
type: enc.encode('U'),
payload: enc.encode(uri)});
},
parseURI: function nh_parseURI(ndef) {
if (!ndef || ndef.tnf != 'well-known' || ndef.type[0] != 0x55) {
return null;
}
var payload = ndef.payload;
var prefix = URI[payload[0]];
if (!prefix) {
return null;
}
var dec = new TextDecoder('utf-8');
return prefix + dec.decode(payload.subarray(1));
},
/**
* Utils to dump Uint8Array.
*/
dumpUint8Array: function nh_dumpUint8Array(array) {
if (!array) {
return 'null';
}
var str = '[';
var i;
var arrayLen = array ? array.length : 0;
for (i = 0; i < arrayLen; i++) {
str += '0x' + array[i].toString(16);
if (i != array.length - 1) {
str += ', ';
}
}
return str + ']';
}
};
exports.NDEFHelper = NDEFHelper;
})(window);