1. 18 Jan, 2011 9 commits
    • Sylvain Fonteneau's avatar
      Moved LLCP link parameters configuration to NFC service initialization. · 6efda9f3
      Sylvain Fonteneau authored
      With the latest libnfc-nxp library, the LLCP socket internals are
      initialized when configuring the LLCP link parameters because it
      must be the first LLCP function called.
      
      Due to this, these parameters are now set only once at the NFC
      service startup instead of each peer discovery.
      
      As a consequence, the NFC Manager initialization now use the
      application properties (which contains link parameters) so these
      properties are loaded before initialization.
      
      Change-Id: I8e04c3135646a12a48c392d47cb47d09cd234ea1
      6efda9f3
    • Sylvain Fonteneau's avatar
      Removed workaround for native socket creation limitation. · 1878c7b6
      Sylvain Fonteneau authored
      Until now, the NFC native library (libnfc-nxp) had some limitations
      on the socket life cycle that made impossible to ensure the local server
      socket was listening before the remote client was trying to connect.
      
      The RegisteredSocket class was created to workaround this by enabling
      socket creation at the Java layer prior to link establishment. This
      solution was not fully satisfactory since there were still some race
      conditions.
      
      A fix for these limitations has been submitted in the library project
      in a commit named "Allow LLCP socket creation before link establishment"
      and this patch takes advantage of it to remove the RegisteredSocket
      class and all the associated code.
      
      As a consequence, the socket creation methods have been simplified, the
      link activation processes is lighter (no need to recreate native sockets
      on link activation).
      
      This patch also includes some cleaning (removed unused variables).
      
      Change-Id: I643509d620105ae7d3ba24ea68eae37f05bc6ef3
      1878c7b6
    • daniel_tomas's avatar
      WTX set to the maximum value by default · f993b6dc
      daniel_tomas authored
      Change-Id: I7ad0fc608c2dd81b42dcbca994759352ffae9360
      f993b6dc
    • Sylvain Fonteneau's avatar
      Release JNI local references in LLCP sockets. · 8ddea174
      Sylvain Fonteneau authored
      Change-Id: I691f1568ae83f2483bd6c60489d427cf62b1c9c8
      8ddea174
    • Nick Pelly's avatar
      Merge "Fix Jewel ATQA" into gingerbread · d514e7d5
      Nick Pelly authored
      d514e7d5
    • Nick Pelly's avatar
    • Martijn Coenen's avatar
      Fix Jewel ATQA · 93e639ba
      Martijn Coenen authored
      Change-Id: Ic6c04d2ab7543a3a40023e96c7860157792340c9
      93e639ba
    • Martijn Coenen's avatar
      Implement IsoDep timeout handling (NFC service). · 1b61f1de
      Martijn Coenen authored
      Added interface to the NFC service for (re-)setting the IsoDep transaction
      timeout. Internally, this is mapped to both the ISO XCHG timer and
      the HCI watchdog timer in libnfc (see comments in code).
      
      The timers are reset when the application closes the IsoDep technology.
      But they must also be reset if the application crashes (and cannot close
      the technology). To cover these cases, whenever discovery is (re)started or
      whenever a tag is disconnected, the timeouts are reset to the default values.
      
      Change-Id: I596ef311c3c3b21666b487d16a08642e8a6fc4af
      1b61f1de
    • Jeff Hamilton's avatar
      NDEF Push Protocol implementation. · ca1a86ec
      Jeff Hamilton authored
      The protocol allows pushing NDEF messages
      over LLCP in order to simulate a card read
      wihtout having to use card emulation. This
      also allows for 2 way transfer of meesages.
      
      The protocol allows for a single immediate
      message, to be dispatched upon arrival as if
      it were read from a tag, and any number of
      deferred dispatch messages. The handling of
      deferred dispatch messages is up to the
      receiver and not implemented in this patch.
      
      Change-Id: Ib99e4fc01532cc741debab370a417f94669b62ac
      ca1a86ec
  2. 15 Jan, 2011 2 commits
    • Martijn Coenen's avatar
      Improved accuracy of NDEF_FORMATABLE technology detection. · eb488e0b
      Martijn Coenen authored
      Previously, any ISO14443-4 tag would get the NDEF_FORMATABLE technology,
      indicating that a format on these tags is possible. In fact libNFC only
      supports formatting the DESFire subset of -4, and MF UL / Classic. These
      changes do a check for DESFire before adding the FORMATABLE technology.
      
      Change-Id: Ife15a0bd42e1b024bf262788859c88e4ac1dcabe
      eb488e0b
    • Martijn Coenen's avatar
      Fixed presence checking in watchdog. · 98eb4249
      Martijn Coenen authored
      The presence check timer is not supposed to run during "other" operations
      such as transceive. Previously, the presence check timer was simply reset.
      If an operation would take longer than the presence check time to complete,
      the presence check would run immediately after the operation has released
      the concurrency lock. This is undesirable and not necessary - the app may
      want to do a long series of transceives, in which case the presence check
      gets in the way and delays the app.
      
      This fix will pause() the watchdog completely, and only resume() when the
      presence checking is done.
      
      Change-Id: I06b1ab10c015861415cd91d6d5536d27145a885f
      98eb4249
  3. 13 Jan, 2011 2 commits
  4. 06 Jan, 2011 2 commits
  5. 05 Jan, 2011 3 commits
  6. 04 Jan, 2011 4 commits
  7. 17 Dec, 2010 2 commits
  8. 16 Dec, 2010 1 commit
  9. 15 Dec, 2010 4 commits
    • Martijn Coenen's avatar
      Store the libnfc tag type inside the tag object. · 0a58617a
      Martijn Coenen authored
      Some functionality in libnfc is different for some technologies
      (e.g. reconnect(), transceive()). For these cases, we'll use the libnfc
      tag type to deal with them. We don't want to distinguish these cases based on the
      Java API technology types, since they may be changed and even mapped to different
      libnfc types. Ideally libnfc should abstract this away for us, but that is not
      the case now.
      
      Change-Id: I33ea04ca48d16ccf186e3f0882cafdd38a8adb34
      0a58617a
    • Martijn Coenen's avatar
      Always return libnfc-identified eMifare tags as Mifare technologies. · c1af11b4
      Martijn Coenen authored
      Change-Id: Id88f443d83a99f422aebd7aeb0af8c05c2631ac8
      c1af11b4
    • Martijn Coenen's avatar
      Multi-tag and multi-protocol clean-up and fixes. · ae7d8d80
      Martijn Coenen authored
      - The MULTIPLE_TAGS return value from libnfc is now handled:
        in case of multiple tags, we just pick and report the first.
      - Removed all obsolete calls to nfc_jni_get_nfc_tag_handle;
      - Added some safety to CRC checking;
      - NfcService interface now allows connecting to a (different) technology;
      
      Still todo:
      - Get rid of global reference to connected handle;
      - Remove dependency on tech list ordering.
      
      Change-Id: I7176c3c0edf369a8f33f64280dace1c7b1f2b598
      ae7d8d80
    • Martijn Coenen's avatar
      Check ndef on both protocols of multi-proto if needed. · 232eabb7
      Martijn Coenen authored
      Change-Id: I04d01ce0c597baaa14d30bb022890e69722e1c87
      232eabb7
  10. 13 Dec, 2010 5 commits
  11. 12 Dec, 2010 1 commit
  12. 11 Dec, 2010 4 commits
  13. 10 Dec, 2010 1 commit