diff options
author | Martijn Coenen <maco@google.com> | 2014-07-30 11:33:34 -0700 |
---|---|---|
committer | Martijn Coenen <maco@google.com> | 2014-09-15 14:10:43 -0700 |
commit | 31208d3ee36f583fd998c89508a3e93bb550cb29 (patch) | |
tree | 62d02723b7386a94b31f9b6bba0ffd5fb132c91f /nci | |
parent | d0393d4d0f421623fb52328fda5ab6a3d93a1a84 (diff) | |
download | android_packages_apps_Nfc-31208d3ee36f583fd998c89508a3e93bb550cb29.tar.gz android_packages_apps_Nfc-31208d3ee36f583fd998c89508a3e93bb550cb29.tar.bz2 android_packages_apps_Nfc-31208d3ee36f583fd998c89508a3e93bb550cb29.zip |
Support for AID prefix registration.
Bug: 16517161
Change-Id: I8bc58ac0e9fb6684a7ee22d712dbbd91279d4c30
Diffstat (limited to 'nci')
-rw-r--r-- | nci/jni/RoutingManager.cpp | 13 | ||||
-rw-r--r-- | nci/jni/RoutingManager.h | 13 |
2 files changed, 25 insertions, 1 deletions
diff --git a/nci/jni/RoutingManager.cpp b/nci/jni/RoutingManager.cpp index 3002458e..e0ff131c 100644 --- a/nci/jni/RoutingManager.cpp +++ b/nci/jni/RoutingManager.cpp @@ -34,7 +34,8 @@ extern "C" const JNINativeMethod RoutingManager::sMethods [] = { {"doGetDefaultRouteDestination", "()I", (void*) RoutingManager::com_android_nfc_cardemulation_doGetDefaultRouteDestination}, - {"doGetDefaultOffHostRouteDestination", "()I", (void*) RoutingManager::com_android_nfc_cardemulation_doGetDefaultOffHostRouteDestination} + {"doGetDefaultOffHostRouteDestination", "()I", (void*) RoutingManager::com_android_nfc_cardemulation_doGetDefaultOffHostRouteDestination}, + {"doGetAidMatchingMode", "()I", (void*) RoutingManager::com_android_nfc_cardemulation_doGetAidMatchingMode} }; RoutingManager::RoutingManager () @@ -62,6 +63,11 @@ RoutingManager::RoutingManager () else mOffHostEe = 0xf4; + if (GetNumValue("AID_MATCHING_MODE", &num, sizeof(num))) + mAidMatchingMode = num; + else + mAidMatchingMode = AID_MATCHING_EXACT_ONLY; + ALOGD("%s: mOffHostEe=0x%02X", fn, mOffHostEe); memset (&mEeInfo, 0, sizeof(mEeInfo)); @@ -523,3 +529,8 @@ int RoutingManager::com_android_nfc_cardemulation_doGetDefaultOffHostRouteDestin { return getInstance().mOffHostEe; } + +int RoutingManager::com_android_nfc_cardemulation_doGetAidMatchingMode (JNIEnv*) +{ + return getInstance().mAidMatchingMode; +} diff --git a/nci/jni/RoutingManager.h b/nci/jni/RoutingManager.h index 32ce54dd..65ea3edb 100644 --- a/nci/jni/RoutingManager.h +++ b/nci/jni/RoutingManager.h @@ -48,10 +48,22 @@ private: void handleData (const UINT8* data, UINT32 dataLen, tNFA_STATUS status); void notifyActivated (); void notifyDeactivated (); + + // See AidRoutingManager.java for corresponding + // AID_MATCHING_ constants + + // Every routing table entry is matched exact (BCM20793) + static const int AID_MATCHING_EXACT_ONLY = 0x00; + // Every routing table entry can be matched either exact or prefix + static const int AID_MATCHING_EXACT_OR_PREFIX = 0x01; + // Every routing table entry is matched as a prefix + static const int AID_MATCHING_PREFIX_ONLY = 0x02; + static void nfaEeCallback (tNFA_EE_EVT event, tNFA_EE_CBACK_DATA* eventData); static void stackCallback (UINT8 event, tNFA_CONN_EVT_DATA* eventData); static int com_android_nfc_cardemulation_doGetDefaultRouteDestination (JNIEnv* e); static int com_android_nfc_cardemulation_doGetDefaultOffHostRouteDestination (JNIEnv* e); + static int com_android_nfc_cardemulation_doGetAidMatchingMode (JNIEnv* e); std::vector<UINT8> mRxDataBuffer; @@ -60,6 +72,7 @@ private: int mDefaultEe; int mOffHostEe; int mActiveSe; + int mAidMatchingMode; bool mReceivedEeInfo; tNFA_EE_DISCOVER_REQ mEeInfo; tNFA_TECHNOLOGY_MASK mSeTechMask; |