From d6990666274d2c80df50ca687e901c8845bc49c5 Mon Sep 17 00:00:00 2001 From: "j-h.choi" Date: Mon, 24 Jun 2013 18:54:36 +0900 Subject: [PATCH] Behavior TC NFC scenario changed Change-Id: I477771ec6f0b405e0f2e7c64f30223a33face126 --- tests/NFC/index.html | 27 ++-- tests/NFC/js/main.js | 267 +++++++++++++++++----------------------- tests/NFC/res/ContactsExchanger | Bin 40624 -> 0 bytes 3 files changed, 126 insertions(+), 168 deletions(-) delete mode 100644 tests/NFC/res/ContactsExchanger diff --git a/tests/NFC/index.html b/tests/NFC/index.html index 38267c1..50a70eb 100644 --- a/tests/NFC/index.html +++ b/tests/NFC/index.html @@ -35,23 +35,28 @@ Authors:
diff --git a/tests/NFC/js/main.js b/tests/NFC/js/main.js index 2ce3447..a923875 100644 --- a/tests/NFC/js/main.js +++ b/tests/NFC/js/main.js @@ -16,181 +16,134 @@ limitations under the License. Authors: Choi, Jongheon -*/ + */ -var installUrl; +var writeMessage = "", readMessage = "", newMessage = ""; +var nfcFlag; $(document).delegate("#main", "pageinit", function() { - $("#contactsExchangerInstall").bind("vclick", function() { - install(installUrl); - return false; + $("#read").bind("vclick", function() { + nfcFlag = false; + alert("Read NFC Tag\nPlace the NFC Tag to device"); }); - $("#contactsExchangerLaunch").bind("vclick", function() { - launch(); - return false; + $("#write").bind("vclick", function() { + writeMsg(); + if(writeMessage != "") { + nfcFlag = true; + alert("Write NFC Tag\nPlace the NFC Tag to device"); + } }); - $("#addContact").bind("vclick", function() { - addContact(); - return false; + $("#communicate").bind("vclick", function() { + writeMsg(); + if(writeMessage != "") + alert("Peer to Peer NFC\nConnected two device which are operated NFC"); }); try { - tizen.package.setPackageInfoEventListener(packageEventCallback); - } catch (e) { - alert("Exception: " + e.message); + tizen.nfc.setExclusiveMode(true) ; + } catch (err) { + console.log (err.name + ": " + err.message); } - DisablePassButton(); - contactsExchangerPre(); + setPower(); + setTagListener(); + setPeerListener(); }); -var packageEventCallback = { - oninstalled: function(packageInfo) { - alert("The package " + packageInfo.name + " is installed"); - }, - onupdated: function(packageInfo) { - alert("The package " + packageInfo.name + " is updated"); - }, - onuninstalled: function(packageId) { - alert("The package " + packageId + " is uninstalled"); - } -}; - -function fileURI() { - var documentsDir; - function onsuccess(files) { - for (var i = 0; i < files.length; i++) - { - if(files[i].name == "ContactsExchanger.wgt") - { - var Url1 = files[i].toURI(); - installUrl = Url1.replace("file:///", "/"); - } - } - } - - function onerror(error) { - alert("The error " + error.message + " occurred when listing the files in the selected folder"); - } - - tizen.filesystem.resolve( - 'documents', - function(dir){ - documentsDir = dir; - dir.listFiles(onsuccess, onerror); - }, function(e) { - alert("Error " + e.message); - }, "r" - ); -} - -function install(url) { - var onInstallationSuccess = { - onprogress: function(packageId, percentage) - { - console.log("On installation(" + packageId + "): progress(" + percentage + ")"); - }, - oncomplete: function(packageId) - { - console.log("Installation(" + packageId + ") Complete"); - } - } - - var onError = function (err) { - alert("Error occured on installation : " + err.message); - } - - try { - tizen.package.install(url, onInstallationSuccess, onError); - } catch (e) { - alert("Exception: " + e.name); - } -} - -function launch() { - function onSuccess() { - console.log("Application launched successfully"); - EnablePassButton(); - } - - function onError(err) { - alert("launch failed : " + err.message); - } - - try { - tizen.application.launch("bhvtcnfcex.ContactsExchanger", onSuccess, onError); - } catch (exc) { - alert("launch exc:" + exc.message); - } +function writeMsg() { + newMessage = new tizen.NDEFMessage(); + writeMessage = $("#wmsg").val(); + if(writeMessage == "") + alert("Fill in NFC Write Message"); + else + newMessage.records[0] = new tizen.NDEFRecordText(writeMessage, "en-US"); } -function addContact() { - addContact1(); - addContact2(); -} - -function addContact1() { - var addressbook; - addressbook = tizen.contact.getDefaultAddressBook(); - +function setPower() { + var gNfcAdapter; try { - var contact = new tizen.Contact( - {name: new tizen.ContactName({ - firstName:'NFC', - lastName:'Tester_1'}), - phoneNumbers:[new tizen.ContactPhoneNumber('01234567890')]}); - addressbook.add(contact); - alert("Contact added.\nName : NFC Tester_1\nNumber : 01234567890"); + gNfcAdapter = tizen.nfc.getDefaultAdapter(); + if (!gNfcAdapter.powered) { + gNfcAdapter.setPowered( + true, + function () {console.log("Power on succeed");}, + function () {console.log("Power on failed")}); + } } catch (err) { - alert("The following error occurred while adding: " + err.name); + console.log (err.name + ": " + err.message); } } -function addContact2() { - var addressbook; - addressbook = tizen.contact.getDefaultAddressBook(); - - try { - var contact = new tizen.Contact( - {name: new tizen.ContactName({ - firstName:'NFC', - lastName:'Tester_2'}), - phoneNumbers:[new tizen.ContactPhoneNumber('09876543210')]}); - addressbook.add(contact); - alert("Contact added.\nName : NFC Tester_2\nNumber : 09876543210"); - } catch (err) { - alert("The following error occurred while adding: " + err.name); +function setTagListener() { + var adapter = tizen.nfc.getDefaultAdapter(); + var onSuccessCB = { + onattach : function(nfcTag) { + console.log("NFC Tag's type is " + nfcTag.type); + if(nfcFlag == false) + { + try { + nfcTag.readNDEF( + function(message){ + readMessage = message.records[0].text; + alert("Read message : " + readMessage); + document.getElementById("rmsg").innerHTML = readMessage; + }, + function(e){ + console.log(e.message); + }); + } catch (err) { + console.log (err.name + ": " + err.message); + } + } + if(nfcFlag == true) + { + try { + nfcTag.writeNDEF( + newMessage, + function(){ + alert("Write message : " + writeMessage); + }, + function(e){ + console.log(e.message); + }); + } catch (err) { + console.log (err.name + ": " + err.message); + } + } + }, + ondetach : function() { + console.log("NFC Tag is detached"); + }}; + function unsetListen() { + adapter.unsetTagListener(); } + adapter.setTagListener(onSuccessCB); } -function contactsExchangerPre() { - var documentsDir; - function onsuccess(files) { - for (var i = 0; i < files.length; i++) - { - if(files[i].name == "ContactsExchanger") - { - documentsDir.copyTo( - files[i].fullPath, - "documents/ContactsExchanger.wgt", - true, - function() { - console.log("ContactsExchanger Precondition Success!"); - }); - } - } - fileURI(); - } - - function onerror(error) { - alert("The error " + error.message + " occurred when listing the files in the selected folder"); +function setPeerListener() { + var adapter = tizen.nfc.getDefaultAdapter(); + var onSuccessCB = { + onattach : function(nfcPeer) { + console.log("NFC Target is detected"); + nfcPeer.sendNDEF( + newMessage, + function(){ + console.log("Send message"); + }, + function(e){ + console.log(e.message); + }); + nfcPeer.setReceiveNDEFListener( + function(message){ + readMessage = message.records[0].text; + alert("Receive message : " + readMessage); + document.getElementById("rmsg").innerHTML = readMessage; + nfcPeer.unsetReceiveNDEFListener(); + }); + }, + ondetach : function() { + console.log("NFC Target is detached"); + }}; + function unsetListen() { + adapter.unsetPeerListener(); } - - tizen.filesystem.resolve( - 'wgt-package/tests/NFC/res/', - function(dir){ - documentsDir = dir; - dir.listFiles(onsuccess, onerror); - }, function(e) { - alert("Error " + e.message); - }, "r" - ); -} + adapter.setPeerListener(onSuccessCB); +} \ No newline at end of file diff --git a/tests/NFC/res/ContactsExchanger b/tests/NFC/res/ContactsExchanger deleted file mode 100644 index 22e77965bea4d15b49f0d506f2ceeffb6645de3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40624 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 -- 2.7.4