VulpesOS/gaia/apps/music/js/nfc_share.js
OverSu b38dea0597 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.
2026-09-30 23:13:03 +02:00

46 lines
930 B
JavaScript
Executable file

/* exported NFCShare */
/* global client */
var NFCShare = (function() {
var _NFCShare = {
_isEnabled: false,
get enabled() {
return this._isEnabled;
},
set enabled(value) {
if (typeof value !== 'boolean') {
throw Error('expected true or false');
}
if (!navigator.mozNfc || value === this._isEnabled) {
return;
}
if (value) {
navigator.mozNfc.onpeerready = (event) => {
var peer = event.peer;
if (!peer) {
return;
}
client.method('getPlaybackStatus').then((status) => {
return client.method('getSongFile', status.filePath);
}).then((blob) => {
peer.sendFile(blob);
});
};
} else {
navigator.mozNfc.onpeerready = null;
}
this._isEnabled = value;
return this._isEnabled;
}
};
return _NFCShare;
})();