[nfc] Fixes that check whether listeners are set
authorGrzegorz Rynkowski <g.rynkowski@samsung.com>
Thu, 12 Mar 2015 12:46:56 +0000 (13:46 +0100)
committerPawel Sikorski <p.sikorski@samsung.com>
Fri, 13 Mar 2015 14:29:38 +0000 (23:29 +0900)
Verification:
TCT result after the fix should be the same to before the fix -
100% pass (91/91).

Change-Id: Ie95be6ff7e3d05198609f0932208f01d8bef67c9
Signed-off-by: Grzegorz Rynkowski <g.rynkowski@samsung.com>
src/nfc/nfc_adapter.cc

index c307a80e3679ccca6f430d3ea9129eda6595e95a..412173365ae9aaecde84e769238037403fe77414 100644 (file)
@@ -463,9 +463,9 @@ PlatformResult NFCAdapter::AddCardEmulationModeChangeListener() {
       return NFCUtil::CodeToResult(ret,
                                  NFCUtil::getNFCErrorMessage(ret).c_str());
     }
+    m_is_listener_set = true;
   }
 
-  m_is_listener_set = true;
   return PlatformResult(ErrorCode::NO_ERROR);
 }
 
@@ -477,8 +477,8 @@ PlatformResult NFCAdapter::RemoveCardEmulationModeChangeListener() {
 
   if (m_is_listener_set) {
     nfc_manager_unset_se_event_cb();
+    m_is_listener_set = false;
   }
-  m_is_listener_set = false;
   return PlatformResult(ErrorCode::NO_ERROR);
 }
 
@@ -494,17 +494,17 @@ PlatformResult NFCAdapter::AddTransactionEventListener(const picojson::value& ar
   int ret = NFC_ERROR_NONE;
 
   if (NFC_SE_TYPE_ESE == se_type) {
-    if (m_is_transaction_ese_listener_set) {
+    if (!m_is_transaction_ese_listener_set) {
       ret = nfc_manager_set_se_transaction_event_cb(se_type,
                                                     transaction_event_callback, NULL);
+      m_is_transaction_ese_listener_set = true;
     }
-    m_is_transaction_ese_listener_set = true;
   } else {
-    if (m_is_transaction_uicc_listener_set) {
+    if (!m_is_transaction_uicc_listener_set) {
       ret = nfc_manager_set_se_transaction_event_cb(se_type,
                                                     transaction_event_callback, NULL);
+      m_is_transaction_uicc_listener_set = true;
     }
-    m_is_transaction_uicc_listener_set = true;
   }
 
   if (NFC_ERROR_NONE != ret) {
@@ -542,9 +542,9 @@ PlatformResult NFCAdapter::AddActiveSecureElementChangeListener() {
       return NFCUtil::CodeToResult(ret,
                                  NFCUtil::getNFCErrorMessage(ret).c_str());
     }
+    m_is_listener_set = true;
   }
 
-  m_is_listener_set = true;
   return PlatformResult(ErrorCode::NO_ERROR);
 }
 
@@ -556,8 +556,8 @@ PlatformResult NFCAdapter::RemoveActiveSecureElementChangeListener() {
 
   if (m_is_listener_set) {
     nfc_manager_unset_se_event_cb();
+    m_is_listener_set = false;
   }
-  m_is_listener_set = false;
   return PlatformResult(ErrorCode::NO_ERROR);
 }
 
@@ -607,9 +607,9 @@ PlatformResult NFCAdapter::SetPeerListener() {
       LOGE("Failed to set listener: %d", ret);
       return NFCUtil::CodeToResult(ret, "setPeerListener failed");
     }
+    m_is_peer_listener_set = true;
   }
 
-  m_is_peer_listener_set = true;
   return PlatformResult(ErrorCode::NO_ERROR);
 }
 
@@ -620,9 +620,9 @@ PlatformResult NFCAdapter::UnsetPeerListener() {
 
   if (m_is_peer_listener_set) {
     nfc_manager_unset_p2p_target_discovered_cb();
+    m_is_peer_listener_set = false;
   }
 
-  m_is_peer_listener_set = false;
   return PlatformResult(ErrorCode::NO_ERROR);
 }
 
@@ -873,7 +873,7 @@ PlatformResult  NFCAdapter::SetTagListener(){
 
   LoggerD("Entered");
 
-  if(!m_is_tag_listener_set) {
+  if (!m_is_tag_listener_set) {
     nfc_manager_set_tag_filter(NFC_TAG_FILTER_ALL_ENABLE);
     int result = nfc_manager_set_tag_discovered_cb (tagEventCallback, NULL);
     if (NFC_ERROR_NONE != result) {