2 /*global $, tizen, App, app */
4 (function () { // strict mode wrapper
7 App.NFCCard = function (nfcControl) {
8 this.app = nfcControl.app;
9 console.log('NFCCard: ', nfcControl);
12 App.NFCCard.prototype = {
18 readMessageErr: function readMessageErr(e) {
19 app.nfc.timeExpired('Read error!');
22 sucTagReadAttach: function sucTagReadAttach(tag) {
23 if (tag.isSupportedNDEF) {
24 tag.readNDEF(this.app.nfc.readMessage.bind(this.app.nfc), this.readMessageErr.bind(this));
26 console.log("This Tag doesn't support NDEF");
30 setTagDetectRead: function setTagDetectRead() {
34 console.log('Tag Listen Error: ' + e.message);
37 var suc = { onattach: this.sucTagReadAttach.bind(this), ondetach: this.app.nfc.sucDetach.bind(this.app.nfc) };
39 //nfcAdapter.setTagListener(suc, err);
40 app.nfc.nfcAdapter.setTagListener(suc);
42 console.log('error: ' + error.message);
49 sucSend: function sucSend() {
50 console.log('sucSend');
51 app.nfc.timeExpired('Send success!');
54 errSend: function errSend(e) {
55 console.log('errSend');
56 app.nfc.timeExpired('Send problem! ' + e.message);
59 sucTagWriteAttach: function sucTagWriteAttach(tag) {
60 var newMessage = null,
61 separator = String.fromCharCode(30),
62 endOfText = String.fromCharCode(3),
63 fullContact = localStorage.phoneNumber + separator + localStorage.firstName + separator + localStorage.lastName,
66 prepareForNFC = this.prepareForNFC || function prepareForNFC(contact) {
67 if (contact.length > 31) {
68 contact = contact.substring(0, 31);
69 if (contact[29] !== separator) {
70 contact = contact.substring(0, 30) + endOfText;
76 fullContact = prepareForNFC(fullContact);
79 newMessage = this.app.nfc.phoneNumber2NDEF(fullContact);
81 console.log("NDEFMessage problem: " + err.message);
84 if (tag.isSupportedNDEF) {
85 tag.writeNDEF(newMessage, this.sucSend.bind(this), this.errSend.bind(this));
87 console.log("This Tag doesn't support NDEF");
91 setTagDetectWrite: function setTagDetectWrite() {
95 console.log('Tag Listen Error: ' + e.message);
98 var suc = { onattach: this.sucTagWriteAttach.bind(this), ondetach: this.app.nfc.sucDetach };
100 //nfcAdapter.setTagListener(suc, err);
101 app.nfc.nfcAdapter.setTagListener(suc);
103 console.log('error: ' + error.message);