[NFC] Minor fixes 63/185163/2
authorPawel Kaczmarczyk <p.kaczmarczy@samsung.com>
Thu, 26 Jul 2018 07:05:03 +0000 (09:05 +0200)
committerPawel Kaczmarczyk <p.kaczmarczy@samsung.com>
Tue, 31 Jul 2018 09:51:49 +0000 (11:51 +0200)
[Bugs]
  1. In special cases records objects were created as empty
  2. If NFCPeerDetectCallback or NFCTagDetectCallback did
     not have defined function to call on action an TypeError
     would be thrown.

[Verification] tct-nfc-tizen-tests passrate 100%

Change-Id: I32d6cbdc05c491f42100580a1cfe021c4c877bfc
Signed-off-by: Pawel Kaczmarczyk <p.kaczmarczy@samsung.com>
src/nfc/nfc_api.js

index c282348..4dcead5 100644 (file)
@@ -347,7 +347,7 @@ function setTagListener() {
         return;
       }
     }
-    args.listener[message.action](tagObject);
+    native_.callIfPossible(args.listener[message.action], tagObject);
   };
 
   // Register (acivate) core listener if not done yet
@@ -380,7 +380,7 @@ function setPeerListener() {
     if ('onattach' === msg.action) {
       data = new NFCPeer(msg.id);
     }
-    args.listener[msg.action](data);
+    native_.callIfPossible(args.listener[msg.action], data);
   };
 
   if (!native_.isListenerSet(PEER_LISTENER)) {
@@ -924,7 +924,7 @@ var toRecordsArray = function(array) {
     var data = new InternalRecordData(array[i].tnf, array[i].type, array[i].payload, array[i].id);
 
     if (array[i].recordType == 'Record') {
-      result.push(new tizen.NDEFRecord(data.tnf_, data.type_, data.payload_, data.id_));
+      result.push(new tizen.NDEFRecord(data.tnf, data.type, data.payload, data.id));
       continue;
     }
 
@@ -940,7 +940,7 @@ var toRecordsArray = function(array) {
     }
 
     if (array[i].recordType == 'RecordMedia') {
-      result.push(new tizen.NDEFRecordMedia(array[i].mimeType, array[i].data, data));
+      result.push(new tizen.NDEFRecordMedia(array[i].mimeType, null, data));
       continue;
     }
   }
@@ -1528,11 +1528,11 @@ tizen.NDEFRecordMedia = function(mimeType, data, internal_) {
   try {
     if (arguments.length >= 2) {
       mimeType_ = converter_.toString(mimeType);
-      data_ = toByteArray(data, Math.pow(2, 32) - 1);
 
       if (!type_.isNullOrUndefined(internal_) && (internal_ instanceof InternalRecordData)) {
         tizen.NDEFRecord.call(this, internal_.tnf, internal_.type, internal_.payload, internal_.id);
       } else {
+        data_ = toByteArray(data, Math.pow(2, 32) - 1);
         var result = native_.callSync(
             'NDEFRecordMedia_constructor', {
               'mimeType': mimeType_,