summaryrefslogtreecommitdiffstats
path: root/nci
diff options
context:
space:
mode:
Diffstat (limited to 'nci')
-rwxr-xr-xnci/jni/NativeNfcManager.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/nci/jni/NativeNfcManager.cpp b/nci/jni/NativeNfcManager.cpp
index 814f49b..f15c92f 100755
--- a/nci/jni/NativeNfcManager.cpp
+++ b/nci/jni/NativeNfcManager.cpp
@@ -339,16 +339,17 @@ static void nfaConnectionCallback (UINT8 connEvent, tNFA_CONN_EVT_DATA* eventDat
case NFA_DEACTIVATED_EVT: // NFC link/protocol deactivated
ALOGD("%s: NFA_DEACTIVATED_EVT Type: %u, gIsTagDeactivating: %d", __FUNCTION__, eventData->deactivated.type,gIsTagDeactivating);
NfcTag::getInstance().setDeactivationState (eventData->deactivated);
- if (gIsTagDeactivating || gIsSelectingRfInterface)
+ if (eventData->deactivated.type != NFA_DEACTIVATE_TYPE_SLEEP)
{
- if (gIsTagDeactivating)
- nativeNfcTag_doDeactivateStatus(0);
- break;
+ nativeNfcTag_resetPresenceCheck();
+ NfcTag::getInstance().connectionEventHandler (connEvent, eventData);
+ nativeNfcTag_abortWaits();
+ NfcTag::getInstance().abort ();
+ }
+ else if (gIsTagDeactivating)
+ {
+ nativeNfcTag_doDeactivateStatus(0);
}
- nativeNfcTag_resetPresenceCheck();
- NfcTag::getInstance().connectionEventHandler (connEvent, eventData);
- nativeNfcTag_abortWaits();
- NfcTag::getInstance().abort ();
// If RF is activated for what we think is a Secure Element transaction
// and it is deactivated to either IDLE or DISCOVERY mode, notify w/event.