Please sign in to comment.
Host-based card emulation.
Initial check-in that allows to build basic HCE apps: - Introduced new RoutingManager, taking care of programming the routing table to the NFCC. - Added DeviceHost interfaces for adding/removing aids to the routing table, and sending raw frames. - On devices that have an eSE, the eSE is the default route. - Removed routing code from SecureElement class. - HostEmulationManager resolves and dispatches AIDs routed to the host to an application service. - Simple Messenger service interface for exchanging APDUs. - RegisteredAidCache keeps a cache of AIDs that are registered by Android applications, as well as their route. TODO: - Dynamic registration of AIDs. - Dynamic updates of the routing table. - AID conflict resolution. - Allow apps to indicate AIDs present "off-host". - Implement base-class HCE service in framework. - Switch default route to host. Change-Id: I7d7643770fcc848699810ec5443d0d9b81d85669
- Loading branch information...
Showing with 1,464 additions and 1,123 deletions.
- +0 −291 nci/jni/HostAidRouter.cpp
- +0 −156 nci/jni/HostAidRouter.h
- +7 −0 nci/jni/JavaClassConstants.h
- +139 −9 nci/jni/NativeNfcManager.cpp
- +1 −0 nci/jni/PowerSwitch.cpp
- +1 −0 nci/jni/PowerSwitch.h
- +382 −0 nci/jni/RoutingManager.cpp
- +62 −0 nci/jni/RoutingManager.h
- +18 −637 nci/jni/SecureElement.cpp
- +2 −26 nci/jni/SecureElement.h
- +29 −3 nci/src/com/android/nfc/dhimpl/NativeNfcManager.java
- +30 −0 nxp/src/com/android/nfc/dhimpl/NativeNfcManager.java
- +16 −0 src/com/android/nfc/DeviceHost.java
- +64 −1 src/com/android/nfc/NfcService.java
- +266 −0 src/com/android/nfc/cardemulation/HostEmulationManager.java
- +447 −0 src/com/android/nfc/cardemulation/RegisteredAidCache.java