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/src/com/android/nfc/DeviceHost.java
|
2daeeee63456a515693980372908234e1fa14ba5 |
|
15-Apr-2015 |
Martijn Coenen <maco@google.com> |
Expose peer LLCP version to apps. Change-Id: Id5ea699a8508b5bdf44c0bae2d38893e2c42241a
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
c19c065b6d0e1a088780c4dca27a1404d5926765 |
|
09-Sep-2014 |
Martijn Coenen <maco@google.com> |
Reinstate RF field events. These are generic enough to maintain in AOSP, and can still be protected by nfcee_access.xml like they used to be. Bug: 16653617 Change-Id: Id604fcc45d4263b24fea2f16ca6a24e25f8580c3
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
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/src/com/android/nfc/DeviceHost.java
|
304a6342ee7e5620d3b50d988755c035f1686dc2 |
|
28-Jun-2014 |
Martijn Coenen <maco@google.com> |
Don't conditionally enable snooze. We keep our devices in snooze by default now. Change-Id: Ia84635031d60221da054448b8c81c5c48f1f821d
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
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/src/com/android/nfc/DeviceHost.java
|
a30388eb7ddeabe1c9b85d49a65b82aac6a845ca |
|
12-Apr-2014 |
Andres Morales <anmorales@google.com> |
Fix duplicate tag dispatch after NFC triggered unlock Since we allowed the tag to continue dispatch after unlock as well as reenable discovery when the phone is unlocked the tag used for unlock gets processed twice. This patch adds logic to ensure the tag gets processed only once. Change-Id: Ie42bffb5ec302b68013e6bf1c1104db01e96e79f
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
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/src/com/android/nfc/DeviceHost.java
|
a1e95d30dbe8dad0a8bb333b4ca17c009fc34e2f |
|
04-Feb-2014 |
Andres Morales <anmorales@google.com> |
Revert "Refactoring NfcService routing logic." This reverts commit 80e61a46c0541471ef01a9d3c91570139336bcff. Change-Id: I0b4fc471a3dae22c4d732b1c002f51a412c2c121
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
80e61a46c0541471ef01a9d3c91570139336bcff |
|
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: I4c451cb96ed27954fe2e6e7e7704643f3f3456a6
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
d2604c0544f7bc26e5b2407f0215cccfffedae2c |
|
11-Dec-2013 |
Andres Morales <anmorales@google.com> |
Expose snooze mode config and polling modes in java layer Change-Id: I3a604fb4260a1e99e6aa40189e999996d5947ed4
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
31f39aee25964dad1038b7a9cc335d5a386113c8 |
|
03-Sep-2013 |
Martijn Coenen <maco@google.com> |
Changes for callback model of reader mode APIs. Bug: 10360259 Change-Id: I41c47ce84aa18bce01f6fb1ebe280fac0ed79070
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
c4e4277a71c70e96198cb760676ad3b40f9e0e3d |
|
27-Aug-2013 |
Martijn Coenen <maco@google.com> |
Implement reader mode APIs. Disable p2p/listen modes on request. Currently only for NCI platforms, NXP will follow later. Also, fixed some compiler warnings and a mem leak. Bug: 10360259 Change-Id: Id13db24914adc43db62e055b66e0989e9cde2482
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
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/src/com/android/nfc/DeviceHost.java
|
57a44d07a3de327e8cdbbcd622118aa517313dbe |
|
28-Mar-2013 |
Martijn Coenen <maco@google.com> |
Deal with pre-MR2 PN544 NXP stack LLCP bugs. In MR2 we started connecting LLCP on link activation instead of when the send was confirmed. Pre-MR2 NXP-stack devices have a bug that causes them to only send the first SYMM after 750 ms (in case they are the initiator). There is another bug that causes that same stack to crash if two threads try to send a packet at the same time. Unfortunately, this combination of factors creates the following race: 1) pre-MR2 PN544-initiator initiates p2p link with MR2 device 2) pre-MR2 PN544-initiator starts Touch to Beam animation 3) pre-MR2 PN544 doesn't have data to send, but delays SYMM for 750ms 4) MR2 device finally gets SYMM after 750ms, and sends CONNECT PDU 5) pre-MR2 PN544-initiator device responds to CONNECT PDU with CC on Thread 1 6) Within a ~50 ms window, the user on the pre-MR2 PN544-initiator touches the screen to confirm the send. This causes Thread 2 to try to send something, which fails. As a result, the Beam transaction fails. Unfortunately this is quite easy to reproduce, since the Beam animation takes about 750ms, just the same amount of time it takes for the SYMM to get sent. To prevent such a race condition, we should make sure that we do not create multi-threaded access on the remote device. The best way to do that is to not connect the LLCP services automatically when talking to a pre-MR2 PN544-initiator. Long story short, when we don't receive a first packet of data after 200 ms, we consider the remote device to be a buggy implementation, and delay the connect until the time the user decides to send something (in which case it's fine - it's unlikely the user at the other side tries to send something at exactly the same time). Also fixed RF field notifications to be more robust; whenever p2p is activated, we disable field events, and always treat the field as being on. Bug: 8508568 Change-Id: I41b427afb24c7f8d228adc91d258cca553539588
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
525c260303268a83da4c3413b953d13c9084e834 |
|
14-Dec-2012 |
The Android Open Source Project <initial-contribution@android.com> |
Snapshot 1a6bcf3cca90fedfbad33c1cdd6d05af5774fc01 Change-Id: I3ccb25bf7cde2c22f52260cae0e9957517e6bb5f
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
ba15143ff54f5078f9b2cef5804525d387c52c72 |
|
03-Apr-2012 |
Martijn Coenen <maco@google.com> |
Support for querying extended length APDU support. Bug: 5813943 Change-Id: I1274e3c47203e30cedefb57049738f97122de4b1
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
0ec8bb7e59bad813e1423bff0c756fafe85b011c |
|
29-Mar-2012 |
Martijn Coenen <maco@google.com> |
Get rid of getLastError(). Was only used for one call into the service, and it wasn't even correct in that case. Change-Id: I6c7d9d137783fde9341e119402e6823776c711b7
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
0c39284106d29e8852197d163dcc95c01da29f0d |
|
01-Feb-2012 |
Martijn Coenen <maco@google.com> |
Support for setting p2p modes from javaland and some cleanup. Removed code-duplication, fixed some warnings. Change-Id: I5b7a2986e3836d6689b677bf80cb93421bfa821e
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
2a576dd16a5688b6172d9951a4572d31c1345ad5 |
|
27-Jan-2012 |
Martijn Coenen <maco@google.com> |
Merge "LLCP 1.1 support."
|
3b82eef50f734cab061330f55de8b8bf5396f24b |
|
27-Jan-2012 |
Martijn Coenen <maco@google.com> |
LLCP 1.1 support. - Allow servicename for connectionless sockets; - Pass in servicename in Bind() for both types; - EchoServer: allow MIU=128 again since ATR_RES fix was merged in libnfc-nxp - EchoServer: fix reading from incorrect offset. Change-Id: Ie77fe5b46e7a17435e6261c8b7400dcca4d3784a
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
391cfe2479eca2080c14d1832599ad51cafae918 |
|
05-Jan-2012 |
Nick Pelly <npelly@google.com> |
Rewrite NDEF dispatch path. It was getting pretty messy. The dispatch sequence is identical, but the hierarchy of functions has been collapsed. The flow now is: dipsatchTag() -> tryOverrides() -> *** NDEF override *** *** TECH override *** *** TAG override *** tryNdef() -> *** AAR to NDEF *** *** AAR to application launch *** *** AAR to market launch *** *** regular NDEF *** tryTech() -> *** TECH *** *** TAG *** o Fix bug where cancelling a pending intent would disable further foreground dispatch. o Fix bug where a foreground process dying would not cancel override o Assume one NdefMessage per tag in implementation methods Change-Id: Iaf7a0a83076e4f540a5e55c9e628490570116b01
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
e008eba3b51c5303d52bf3e9e989dfd03b18435a |
|
13-Jan-2012 |
Martijn Coenen <maco@google.com> |
Bring LLCP connectionless sockets back to life. Useful for testing the connectionless part of the LLCP stack. Change-Id: I76a7962526ec1e6ff463c938431229f89c545824
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
56f2a7bc39a14487f01cbf2d131ba3cde4126f2d |
|
20-Oct-2011 |
Martijn Coenen <maco@google.com> |
NFC: Enable guard host timeout. Set to 255 ms, increase number of retries to 64. Add dump() interface to native library Change-Id: Ib3a32f70453f7f8b79ff89394410f56b4b9dd7a2
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
0fe7049a3224aa7b29cc980be07387e17607b0de |
|
13-Sep-2011 |
Jeff Hamilton <jham@android.com> |
Manually port d77e05f7 from gingerbread: Patch to perform a download at NfcService boot time This patch permit, when NFC is off, to perform a download if the PN544 is not up to date Change-Id: Iaa01e218ccd1e4cb18ef77d58c18348823135b1e
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
bf6e5d1655d5ad524a8ec007413c7011ed969df8 |
|
19-Aug-2011 |
Martijn Coenen <maco@google.com> |
Support for getMaxTransceiveLength() API. Maximum transceive length is enforced in calls to transceive. Change-Id: I94a4f16283e5fd5df9143b02e52c16f868b1c3ab
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
5438ab0e17064e20870ac893a2dd2b9e1219eef1 |
|
18-Aug-2011 |
Nick Pelly <npelly@google.com> |
0-click UI update o New start sound o Vibrate only when - starting send - send success - receive success o Play sound only when - starting send - send success - send failure (out of range before complete) - receive success o Introduce HoldingItWrongUi with the new image o P2pAnimationActivity -> SendUi, and a huge cleanup of it - no longer an activity. It took 350ms to inflate the views on first onCreate() as an activity, but we can cache this ahead of time as a window. - Use ObjectAnimator instead of ViewAnimator, much less code o Use ACCELEROMETER instead of GRAVITY to get faster tilt detection. TODO (in order of priority) o LLCP has started crashing a lot again. About 1/10 times I come into P2P range the stack crashes now on my Nexus S TMO. At first I thought it was because I was doing animations during LLCP send, which might affect timing to pn544 due to CPU load. So I changed my first implementation (one animation) to split it into a pre-send and post-send, so we don't do any work during the actual send. Still seems to crash though. We really need to make it solid again. o Change notification text and settings text+image as per Rachel's email o Do some simple low-pass filter on ACCELEROMETER so we don't get caught out when the user shakes the phone o Plumb through a starting receive callback, and play sound + vibrate o Prevent touch during send animations. Not a big deal right now because we complete it so fast. o Prevent notification shade from being pulled during HoldingItWrongUi and SendUi o Prevent orientation change during SendUi Change-Id: Ieec1efb741244c68270e34a712c15c58621b1446
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
4a61d3b45e81c0070538f94747a70a49c78f12fa |
|
30-Jun-2011 |
Jeff Hamilton <jham@android.com> |
Remove the binder interface for LLCP. Change-Id: I8d5fd546ecb07f005322eb5f173975dff7820439
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
358d8b6ad611aba11e69a3b1dd9d132dbc9a7605 |
|
20-Jul-2011 |
Martijn Coenen <maco@google.com> |
Support for getTimeout() (NFC service). Bug: 4492175 Change-Id: I289e40d1527e7b570e8fd46f9968094b92a31902
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
442cad40a205a63ea8797fbccaee99b2e8ab89ab |
|
29-Jun-2011 |
Nick Pelly <npelly@google.com> |
Properly merge b5165e13 to master. Change-Id: I3b7019e94346046d4e0834531651c372c754e0a3
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|
f6c56a2191d58e3f9f68e3e7d94908b04b9b66ff |
|
14-Jun-2011 |
Jeff Hamilton <jham@android.com> |
First pass at an abstraction of the NFC stack. This moves some of the stack functionality behind interfaces that the NFC service uses. Change-Id: Ia377b8d0b9f57a25ac72a5f650fd25c35df72de0
/packages/apps/Nfc/src/com/android/nfc/DeviceHost.java
|