Commit Graph

251 Commits

Author SHA1 Message Date
Andres Morales
f9a97942e1 Fix issue where unlock handlers are not properly updated
If an unlock handler already exists, we need to try
to update the tech mask for it. Don't permit unlock
handlers with no tech mask.

Bug: 17054331
Change-Id: I54a885d28bdd8ce41d8646d968621c7d6abc9387
2014-08-15 17:08:24 +00:00
Andres Morales
11d2e53dc0 NFC Unlock api changes
Bug: 16401635
Change-Id: I994bd80be40052c2f894199bb44ebbde40077f27
2014-07-31 01:09:02 +00:00
Andres Morales
92b4b3c64d Revert "NFC Unlock api changes"
This reverts commit 9fef5fbcd6d47ef86823b3a2d82d34801f9be335.

Change-Id: Idabe1c2901e0e26d38f84583308f69804ab2c1c3
2014-07-30 21:30:50 +00:00
Andres Morales
131197aa6e NFC Unlock api changes
Bug: 16401635
Change-Id: I138a9aa0bb156982b6c7656c51a1e2194776e4ed
2014-07-30 21:17:06 +00:00
Martijn Coenen
29c2e3797a Make some NFC APIs @systemAPI.
Change-Id: I12e292563a517211e4fae7a1f64021758f396d1a
2014-07-30 21:03:07 +00:00
Martijn Coenen
d92c168974 Add API to query for AID prefix support.
For future devices which may support
registering AID prefixes. Get the API in for now,
the actual implementation is pretty simple and
will follow later.

Change-Id: I6c16dae9a4dbc0f9cd84bdb61a4de93cffd278ec
2014-07-02 16:30:06 -07:00
Martijn Coenen
b92dc6b013 Clean up dynamic AID XML parser.
<aid-group> should be generated and parsed
in its own object.

Change-Id: I70f4511a682c66f8d11b7797a0f171cda24cc617
2014-07-02 14:11:54 -07:00
Martijn Coenen
b51441163f Move AID validation to CardEmulation.
More logical place since it's a generic utility
function.

Change-Id: I3381f10d6720e415d091dbd475ef0df8733e7e75
2014-07-02 12:44:33 -07:00
Martijn Coenen
dbedb4cc0f Add new IPC for direct Beam invoke.
Used by BeamShareActivity when Beam is invoked
through the share menu. Also made these IPCs
one-way as they can run asynchronously.

Bug: 15939863
Change-Id: I7d048947c96c697e6b04bbda2ec3fbf28cccc29b
2014-07-01 23:01:04 +00:00
Martijn Coenen
1bfc3d6249 Validate AIDs when registered.
Change-Id: Ib7140c30a8a7587f1809f529d3303e69933bb245
2014-07-01 17:37:59 +00:00
Andres Morales
d8cf53f87d Make unlock api take String instead of int codes
int code method not exposed to third parties

Change-Id: I18ad0703be9d06664db3fd00a6435f789979fe73
2014-06-20 16:13:16 -07:00
Andres Morales
3b33fd283c Framework changes to support NFC trustlet.
Adds a system-only ability to register for receiving
tags from NfcService at the lockscreen.

Change-Id: I4b50941031e8d1f40ebb6314211226e70a2ad187
2014-06-20 10:05:52 -07:00
Martijn Coenen
df48db3c7c Address HCE API review comments.
Remove AidGroup from public APIs.

Bug: 15089341
Change-Id: Ia8e038a12891abc6f1a8e82dbf30b8952e0b1fd7
2014-05-29 21:10:01 +00:00
Andres Morales
62b25a5bf0 Revert "Adding INfcUnlockSettings and NfcUnlock interface class."
This will be re-added as a Trustlet in a subsequent CL.

This reverts commit 38a7ed05f8.

Change-Id: I5aa36df42a7751f165b4ef184e0cda57e5568b59
2014-05-20 16:59:34 +00:00
Martijn Coenen
2f6f3a0181 HCE/SE foreground support.
Allow apps to tell the OS they prefer a specific
CardEmulation service to handle a transaction
whenever they are in the foreground.

Change-Id: I8489ba6018f62164ed7e3504f31c8d09accf494e
2014-05-06 14:49:57 -07:00
Martijn Coenen
aa1492d1d8 Dynamic AID registration APIs for HCE.
Adds a set of APIs that allows applications
to dynamically register and unregister AID groups
for HCE and Secure Element based services.

Change-Id: I08e9423dff405955cb725c87423c953a7dbe5c72
2014-04-23 20:21:32 +00:00
Martijn Coenen
ae2a35baf4 am 4d328a79: am a43f7cb0: am 1507c18f: am 29e55bef: Merge "NFC: getNdefMessage() should throw exception if no tag in field."
* commit '4d328a79bdee417c1248660b1c33b5cd86dbd814':
  NFC: getNdefMessage() should throw exception if no tag in field.
2014-03-06 16:21:46 +00:00
John Spurlock
a77cf87354 Merge "Tabs -> spaces in frameworks/base." 2014-02-25 19:57:33 +00:00
Martijn Coenen
6924c4ef8d Fix NFC docs breakage.
Change-Id: I680dc7974316c77cb1835b5a81f30e6961ba3c49
2014-02-25 11:51:11 -08:00
John Spurlock
8a985d24ce Tabs -> spaces in frameworks/base.
Change-Id: I5a84e8e93ac99b5ed0212b37bf66efa5e53864be
2014-02-25 09:49:29 -05:00
Martijn Coenen
7fe9fa163c Add an API to manually invoke Android Beam.
Activities can call NfcAdapter.invokeBeam() to
manually invoke the Beam animation. Any NFC tap
is then enough to complete the transaction.

Also, added NdefRecord convenience method for
creating Text records.

Bug: 5134061
Change-Id: Ia9df360d1d7e8451157c85a6d12f2a4eec924960
2014-02-14 10:58:30 -08:00
Mathias Jeppsson
266e0a3871 NFC: getNdefMessage() should throw exception if no tag in field.
According to documentation, an TagLostException should be thrown, if
the tag has been moved out of field when reading NDEF message.

Change-Id: Ib7e485ed442027fdebd5bc7a46101fbca0c88bdb
2014-01-28 15:20:30 +01:00
Andres Morales
3e4b665bc6 Adding accessor for integer tech codes to Tag
Change-Id: I02c272acc9744756677afa8a9d1dca7f1e63ca50
2013-12-16 10:46:36 -08:00
Andres Morales
38a7ed05f8 Adding INfcUnlockSettings and NfcUnlock interface class.
Change-Id: Ie55a5d4bb58c2944952fc84cce32d3573a3a1a22
2013-12-09 14:41:01 -08:00
John Spurlock
6090995951 Remove unused imports from frameworks/base.
Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
2013-11-20 11:31:47 -05:00
Martijn Coenen
f180f30b0d Add "urn:nfc" shortener.
As defined in the NFC Forum specification
"URI Record Type Definition". For some reason
0x23 wasn't added in the past, but it's present
in the specification.

Change-Id: If4ec2216fd53a31943f6de62aa1c69166f597616
2013-11-14 13:40:07 -08:00
Scott Main
b38ad76a82 additional javadoc for NfcAdapter.ReaderCallback
Change-Id: I3cad8b43d53992bb3d53920abb510456ee72afb5
2013-10-17 11:57:06 -07:00
Martijn Coenen
35bf628852 NFC card emulation API docs.
Bug: 10550319
Change-Id: I3023639d728aa76af89d15e0491b86c7c641648e
2013-10-14 20:58:53 +02:00
Martijn Coenen
eed43391c6 Fix crash in ApduServiceInfo parsing.
Bug: 10949100
Change-Id: I181734074b071179ea5637a070714643508bc64b
2013-09-26 11:20:37 -07:00
Martijn Coenen
807fd04435 Merge "Validate AID format and length." into klp-dev 2013-09-18 17:56:03 +00:00
Martijn Coenen
fca3578773 Validate AID format and length.
Bug: 10817001
Change-Id: I7cb0d4f718c467d2fccb30068f383f8e71a4a39b
2013-09-18 17:26:18 +02:00
Martijn Coenen
b523bfa64d Rename FLAG_READER_NFC_KOVIO to FLAG_READER_NFC_BARCODE.
Bug: 10722206
Change-Id: I8b672cd7b9015e1ec88af96ef1fd0774d20b8d17
2013-09-12 13:44:39 +02:00
Martijn Coenen
58d2065984 Add support for loading banners from HCE services.
Bug: 10262585
Change-Id: I08f06ce92dd9071dc8ad1390ce9a4b877b05827d
2013-09-11 12:31:10 +02:00
Martijn Coenen
51b6322197 Remove legacy HCE APIs.
Bug: 10550349
Change-Id: Ie60942f9551e93bcfb597f7f2a5b9cc9bf21a11a
2013-09-04 14:49:46 -07:00
Martijn Coenen
f48416dede Merge "Reader mode NFC API: move to callback model." into klp-dev 2013-09-04 00:48:20 +00:00
Martijn Coenen
c85fb576b8 Add drawable for Apdu Services, fix build.
Change-Id: I7c138adb60b2efe19377b58b35360cd234628424
2013-09-03 12:24:18 -07:00
Martijn Coenen
fb2f8337f6 NFC: @hide and remove abstract from processCommandApdu().
Replaced by new version with Bundle extras.

Bug: 10550349
Change-Id: If5f284c6d9b14ab32670ebc84881f459813b5b56
2013-09-03 11:40:35 -07:00
Martijn Coenen
5b1e032ea7 Reader mode NFC API: move to callback model.
Using intents for reader mode doesn't work well for 2 reasons:
1) Intents are used to resolve, but in reader mode we already
   know where to resolve to. Additionally, dispatching an intent
   causes additional latency.
2) Using intents with foreground dispatch was tricky; for every
   call to onNewIntent() with a new tag, there was a call to
   onPause(), which effectively disabled reader mode again,
   causing a discovery loop.

Instead, let the app register a callback, and call that when
we discover a new tag. Also, add new flag to disable platform
sounds, and to change the presence check delay.

Bug: 10360259
Change-Id: I8373543d6cf2f7ca73c9b3e42bb8b51e3ac48cac
2013-09-02 20:43:57 -07:00
Martijn Coenen
52246087f4 HCE API review.
Keeping some of the old stuff @hide until all
clients have upgraded.

Bug: 10550349
Change-Id: Id5de7ab74c9b38c179fd20bd4746d95b7df8f033
2013-08-30 11:29:45 -07:00
Martijn Coenen
c3f0044abe Add an API for querying HCE service selection mode.
This allows applications to differentiate between
the case where another app is the default, or the
case where the selection mode is "Ask every time".

Also, parse new requireDeviceUnlock attribute in
ApduServiceInfo.

Bug: 10262585
Change-Id: Icac508fe00054132574731532c05a1138edb24f5
2013-08-29 13:23:03 -07:00
Martijn Coenen
c20ed2ff12 Add NFC reader-mode API.
Allows applications to temporarily force the NFC controller
to only do tag discovery. This will allow Android applications
to read and interact with devices that employ HCE.

Bug: 10360259
Change-Id: I709ead9a26f8e6ae8582cc295d82bd896e7c5bba
2013-08-27 14:32:53 -07:00
Martijn Coenen
583fe9d22b NFC: Allow HostApduService to indicate transaction unhandled.
This will cause the OS to show UI that allows the user to pick
another application that could potentially handle the transaction.

Also, tweak processCommandApdu() method to take a Bundle to be more
future-proof.

Bug: 10262585
Change-Id: If9d060341b472fac0349f539c04b87e85fe79dfb
2013-08-19 11:52:27 -07:00
Martijn Coenen
62c196abd2 NFC: always upper-case parsed AIDs.
Also added activity intent action for Tap&Pay settings.

Change-Id: I5648e1ded3b79a3363899d1cab8aec55842b3e22
2013-08-09 13:43:34 -07:00
Martijn Coenen
38d3bb7696 NFC: Unify ApduServiceInfo for on/off host.
Change-Id: I4f8bb441d7eb564da0486f3e8a1ac08dd18d0dc8
2013-08-07 20:03:03 -07:00
Martijn Coenen
d9b67633f6 Merge "NFC: @hide some APIs, add setDefaultForNextTap API." 2013-08-06 22:46:48 +00:00
Martijn Coenen
d40f43c125 NFC: @hide some APIs, add setDefaultForNextTap API.
Change-Id: I31efe4c96a62e6c3dcb984a885214e6df045c6c6
2013-08-06 15:36:37 -07:00
Elliott Hughes
89a8250e24 am 710f3e2c: am 60ae2617: Merge "If frameworks wants ASCII casing, it should explicity ask for it."
* commit '710f3e2cc6bc2cdc2f2cddb2190823ea31efd52a':
  If frameworks wants ASCII casing, it should explicity ask for it.
2013-08-02 17:58:33 -07:00
Martijn Coenen
a7397883de NFC: Host-based card emulation APIs.
- New INfcCardEmulation interface to allow apps to interface
  with card emulation system.
- New BIND_NFC_SERVICE permission to prevent malicious apps
  from binding to card emulation services.
- ApduServiceInfo is now in the framework.
- Added constants to Settings.Secure for storing defaults.
- Modified XML grammar a bit.

Change-Id: I56b3fa6b42eb5dc132c91c1386ab1e6bac779059
2013-08-02 17:22:53 -07:00
Elliott Hughes
cb64d43062 If frameworks wants ASCII casing, it should explicity ask for it.
http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Iaab02e718a7be7bda22e626dca05d79bfd2a8fc4
2013-08-02 15:12:32 -07:00
Martijn Coenen
c3178e5f1c Change XML-grammar for (Off)HostApduServices.
AIDs can now carry a category attribute. Clarified that
"OffHostApduService" is not bound to by Android, and may
be extended by offering service interfaces that are not
defined in the platform.

Change-Id: Idd0a3990beb927e8d81366013f53386fb46e3f9f
2013-07-25 17:43:47 -07:00