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:
parent
93e3a48004
commit
b38dea0597
25901 changed files with 9982925 additions and 369 deletions
75
assets/webapps/nfc-api-test.gaiamobile.org/js/ndef_helper.js
Normal file
75
assets/webapps/nfc-api-test.gaiamobile.org/js/ndef_helper.js
Normal 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);
|
||||
Loading…
Reference in a new issue