History log of /packages/apps/Nfc/nci/jni/RoutingManager.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0edf35643cf31d3655edb23cd8ab04020b9ebba1 20-Jun-2016 Jizhou Liao <Jizhou.Liao@nxp.com> Fix HCE can't handle last empty I-block of a chain

If the Iā€block received has a zero length and it is the last packet
of a chain, it should not be ignored.

Change-Id: Ibab295516e3dd44d8b4fa1f80a0a8e4bcbe4f435
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
ecb8d7bbd1a44cd3edbcb6c5d903fc8d9a625d70 22-Jan-2016 Yoshinobu Ito <Yoshinobu.Ito@jp.sony.com> Implementation of HCE for NFC-F.

This impementation includes HCE(Host-based Card Emulation) for NFC-F
which emulates NFC Forum Type 3 Tag on a smartphone.

Signed-off-by: Daisuke Ito <DaisukeE.Ito@jp.sony.com>
Yoshinobu Ito <Yoshinobu.Ito@jp.sony.com>

Change-Id: I1618a7fba801e0705ff3cc078206a1446b3dd56d
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
f3e09e66825850178879e76ccc7708509dbbc5b6 22-Sep-2014 Martijn Coenen <maco@google.com> Shutdown EEs when NFC is disabled.

Bug: 17298769
Change-Id: Icee92fb3fafb3168a4e04582b328b4ad4b6e3e39
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
b3ac715d78fd5c18a121447eced959438234dd25 16-Sep-2014 Martijn Coenen <maco@google.com> Merge "Support for AID prefix registration." into lmp-dev
31208d3ee36f583fd998c89508a3e93bb550cb29 30-Jul-2014 Martijn Coenen <maco@google.com> Support for AID prefix registration.

Bug: 16517161
Change-Id: I8bc58ac0e9fb6684a7ee22d712dbbd91279d4c30
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
5ffc9d683d804f4c23d8bc19bfe105324dd61717 10-Sep-2014 Evan Chu <evanchu@broadcom.com> RoutingManager class shall properly handle RF-deactivate event.

The handler must update the gActivated variable to false. The
PowerSwitch class depends on this variable. If the variable is
wrong PowerSwitch class will block forever.

Bug: 16517161
Change-Id: I1015b05f72a36c49646a902daf49d3de7cac5e34
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
246a861bee9b009abf6d65c6c739fabd27c9ffb3 15-Aug-2014 Martijn Coenen <maco@google.com> Restrict UICC listen to Type-A only.

Bug: 16517161
Change-Id: I0524ce42a09cec19196028318f23db21725672e7
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
ba7189b400203bd229520c3c6790d5e10ef9cfad 11-Aug-2014 Martijn Coenen <maco@google.com> Use SE tech parameters when available.

Bug: 16517161
Change-Id: I20428352cf57e815b0dd39e0235745568aa613fb
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
f5c979220fadb2c3ac0bca09e16d0d281ed20eb2 25-Jul-2014 Martijn Coenen <maco@google.com> Support for configuring SE listen technologies.

If the config file specified an SE to use, configure
its listen technologies correctly.

Also, fix commitRouting() to actually commit the
configuration.

Bug: 16517161
Change-Id: I1283fcb3f855c89a8b238be857bd56f06a14138f
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
0825fd46768fb8d854dfb8bb19d2ec6d33d93082 07-Jul-2014 Andres Morales <anmorales@google.com> Fix NfcService JNI issue

Native fn takes param but not needed or declared by
JNI startup code. Solution: remove param

Change-Id: I11b6196ba75826a15d038dd59f56d7c15dfff4ae
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
ea8f37ee5376e296c3b67f57946b73e48ad88c5c 26-Jun-2014 Evan Chu <evanchu@broadcom.com> Obtain default and off-host destination routes from JNI.

The NFC service obtains default and off-host destination routes from
JNI, which in turn obtains them from the device configuration file.

Change-Id: I29f16d982e5675b12a86acb8b7cb99e234fbe222
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
0799bcbe2469aa6a88c6cbdf0cdee5b50e1994f0 18-Dec-2013 Andres Morales <anmorales@google.com> Refactoring NfcService routing logic.

Currently, routing logic contains a lot of nested conditionals
and causes unnecessary work to occur, particularly in enabling
reader mode. This CL moves this logic to a state object that contains
all necessary information to transfer from one routing state to another,
leading to fewer calls to the NFCC, eliminating duplicate work, and
making the code more readable.

Change-Id: I6a8758e61cc0cbb015d618575da35386eadf7d3a
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
705ca580725b89b63aff0a14762024b0f2c73883 13-Jun-2014 Evan Chu <evanchu@broadcom.com> Reassemble inbound card emulation data.

Change-Id: I7c27d000480f876c3f0f0e87a0533e9b0d7804a2
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
8e147262068865ee69157ab2249040fd1db16ff1 18-Mar-2014 Evan Chu <evanchu@broadcom.com> When adjusting routing table, wait for completion event.

When JNI calls NFA_EeUpdateNow() to adjust the routing table,
JNI shall wait for NFA_EE_UPDATED_EVT completion event.

Change-Id: Iaccb3770e82f8b95d6fc9afc50d0f223d1e3f551
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
c8768e4b2ab114d227bd8af441d81525837f78cb 25-Mar-2014 Martijn Coenen <maco@google.com> Goodbye secure element.

I really liked you,
but everybody else wanted you too.
Maybe some day you'll be back,
connected to the host CPU.

Change-Id: If78bce7c7178a77919b8b1b64334909f4ff7e037
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
610a3d078dbe3edffe344a8702eee47696e35173 03-Jan-2014 Nick Kralevich <nnk@google.com> fix compiler warnings.

packages/apps/Nfc/nci/jni/RoutingManager.cpp: In member function 'bool RoutingManager::addAidRouting(const UINT8*, UINT8, int)':
packages/apps/Nfc/nci/jni/RoutingManager.cpp:123:94: warning: format '%s' expects a matching 'char*' argument [-Wformat=]
ALOGE ("%s: failed to route AID");
^
packages/apps/Nfc/nci/jni/RoutingManager.cpp: In member function 'bool RoutingManager::removeAidRouting(const UINT8*, UINT8)':
packages/apps/Nfc/nci/jni/RoutingManager.cpp:139:95: warning: format '%s' expects a matching 'char*' argument [-Wformat=]
ALOGE ("%s: failed to remove AID");

Change-Id: I6765bc68a7d8c2180cf8dd2f587d302cac314538
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
5b60927762b8512622e5a1d53b93a4b3b49acba2 01-Oct-2013 Martijn Coenen <maco@google.com> Notify NfcService on NFA_DEACTIVATED_EVT.

This event comes when the remote puts us to sleep;
we should notify NfcService in this scenario as well,
so that NfcService in turn can notify HCE applications.

Bug: 10681671
Change-Id: Ice7f33c3385d40793df6f2c5c900ff6d4e7640f3
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
51956bf06ab443954683ea2cf5e015a876e006d9 12-Sep-2013 Martijn Coenen <maco@google.com> Merge "Fix NFCEE access on NCI devices." into klp-dev
6a707e75739696dde62201047158913411e8cd81 12-Sep-2013 Martijn Coenen <maco@google.com> Fix NFCEE access on NCI devices.

Bug: 10690065
Change-Id: I4df41e3197ce8fe0b2fc3f017e78f66968d2692f
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
7b223358c5564a7bc7c72a74889f61fbc5a3cc27 10-Sep-2013 Ruben Brunk <rubenbrunk@google.com> Remove dependency on JNIHelp header side effects.

Bug: 10680559
Change-Id: Ia84f1ddc1980e5f6d18e993eb66e6b0878193d86
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
fbd3f2d1a0b71c455f8d7204605a215b6f1a488a 22-Aug-2013 Martijn Coenen <maco@google.com> Hold mutex before waiting on condition variable.

Bug: 10428933
Change-Id: I2f229e10c4db5db09b5224628dc358a7e284c0d7
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
d53c2b599c73f7404b5a604be4d9a5449cafdd72 16-Jul-2013 Martijn Coenen <maco@google.com> HCE: Support dynamic routing changes.

- Routing table will now be dynamically updated as
HCE services are installed/removed/modified
- Layering and arch:
- RegisteredAidCache knows about which services want
which AIDs, and on what route.
- AidRoutingManager maintains the current state of the
AID routing table in the NFCC.
- HostEmulationManager is responsible for incoming
HCE transactions and resolving them to the correct
service.
- Fixed various bugs

Change-Id: I16327dfca96a9bd3fb5633c2e6b4247fe35ab8d6
/packages/apps/Nfc/nci/jni/RoutingManager.cpp
9f8f6cf9c58405ecafe2d425801e6c14088db8c7 30-Apr-2013 Martijn Coenen <maco@google.com> 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
/packages/apps/Nfc/nci/jni/RoutingManager.cpp