Commit Graph

222 Commits

Author SHA1 Message Date
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
Martijn Coenen
5eaa8970aa First shot at (host-based) card emulation APIs.
HostApduService: convenience service class for implementing
a service that registers a set of ISO7816-4 AIDs and emulates
the corresponding application inside the service itself.

SeApduService: convenience service class for implementing
a service that registers a set of ISO7816-4 AIDs that reflect
applications installed on an embedded secure element or UICC. Contains
event hooks to allow the service to handle eSE/UICC events that
correspond to those AIDs.

Change-Id: I44191bd4abcbbe4f1fd36a9fd42639fe5c0cf496
2013-07-22 10:20:49 -07:00
Elliott Hughes
a920f25fe5 resolved conflicts for merge of fca0f92e to stage-aosp-master
Change-Id: I4791f0ffa324a313b8390fbde6d8f82f716ecf74
2013-06-28 16:41:19 -07:00
Elliott Hughes
d396a448b2 Switch frameworks/base over from @hidden Charsets to public StandardCharsets.
Bug: 3484927
Change-Id: I5d136d2ee629588538602766a182ae14ce5fc63c
2013-06-28 16:24:48 -07:00
Martijn Coenen
1fa2aff21b Add direct NDEF push API.
Hidden for now. Also, modified callback that is called
from NfcService to pass all data in a single object
(BeamShareData). This avoids having to do multiple IPCs
at touch time.

Bug: 5134061
Change-Id: I235f608cef9935041b33b4b7a6980f109c15576c
2013-03-26 17:07:37 -07:00
Martijn Coenen
7a6dfb2f72 Update NfcBarcode documentation for Kovio.
Change-Id: I4b6a452805c3dd68247dbe5493db14a263729615
2013-03-07 15:04:41 -08:00
Martijn Coenen
2e9f65f978 Merge "Make NfcAdapter states public and fix build." 2013-01-09 12:28:44 -08:00
Martijn Coenen
e55fe4f3bb Make NfcAdapter states public and fix build.
Change-Id: Idb2dd5e524cda5e3c03d4f2689266fa03be4ea13
2013-01-09 12:27:22 -08:00
Martijn Coenen
8a9120f04e Merge "Make NfcAdapter STATE_CHANGED intent action public." 2013-01-09 11:45:15 -08:00
Martijn Coenen
4ba5eaf7f3 Make NfcAdapter STATE_CHANGED intent action public.
Bug: 5141885
Change-Id: Ia357409a51fb45f1739bb37940fa746f94fa9056
2013-01-09 11:41:16 -08:00
Martijn Coenen
1360c555a4 Don't IPC for every onPause() in NfcActivityManager.
The NfcService now contains additional code to make sure
that the registered NDEF callback corresponds to the package
running in the foreground. This allows us to stop calling
the NfcService on every onPause() to register the NDEF callback,
as NfcService itself will now detect that the app is no longer
in the foreground, and won't call the callback.

Bug: 5199662
Change-Id: Ibd0d21f8c7b76346238305a6684967263cb7d7e0
2013-01-07 16:41:15 -08:00
mike wakerly
f74df47fc9 NfcAdapterExtras: expose driver name.
Bug: 7276355
Change-Id: I65597f732c2ccb749f8fc5ef1793bacf5de8b592
2012-10-03 14:14:23 -07:00
Martijn Coenen
f8538594fe Fix build.
Bug: 7222958
Change-Id: I2f9ff988f09be6cd4be49bfb90750a46e63c2c14
2012-09-25 09:31:50 -07:00
Martijn Coenen
8f862ef9f7 Add NfcBarcode technology API.
Supporting only Kovio barcode technology for now.

Bug: 7222958
Change-Id: I63976da2db16b0a5d9ec746f1a0e83833e74e5a9
2012-09-25 09:22:16 -07:00
Martijn Coenen
32ac1e142c Fix NPE in NdefRecord parser.
Malformed Uri tags could cause this crash.

Bug: 7116323
Change-Id: I979d1512058f351df32dbd972b6ec5c108202da5
2012-09-06 17:13:38 +02:00
Jeff Smith
a45746efad Fix several cases of broken droiddoc syntax
external issue 35214

patch contributed by Jeff Smith <whydoubt@yahoo.com>

Change-Id: I70dcee88a140699bf3e1ab369bed6dcd2fdd3d83
2012-07-25 10:49:25 -07:00
Scott Main
97e0a1c6f3 docs: clean up javadoc code snippets, unescaped entities
Change-Id: Idc21caceccaaa2cc11a6c46b453b6a9b26164f34
2012-06-25 11:25:20 -07:00
Scott Main
9be0105fbc docs: fix several links
Change-Id: I89d9fd64dc22c90680bb05415cc966c255165af9
2012-06-22 12:35:08 -07:00
Martijn Coenen
3b6ecf0ec1 Small NFC API docs addition.
Indicate that if the device does not support Bluetooth or WiFI,
calling the API is a no-op.

Bug: 6620788
Change-Id: Ib261e0e7855d0914e97803b3b808015b72f3a186
2012-06-06 17:05:37 -07:00
Martijn Coenen
2c10311a01 NFC API documentation.
Added docs for beam Uri push and added some sanity checks on params.

Change-Id: I7c43b71c8a9ca4f742933d2d5b9473e0e2451dd3
2012-05-16 19:44:45 -07:00
Jesse Wilson
abc43ddd8a Rename Uri.normalize() to Uri.normalizeScheme().
Change-Id: I67839656c7c1c16a5376c9894d699d2bad3c7a5c
2012-05-10 14:31:17 -04:00
Sunil Jogi
3bba8d0457 Added NFC disable during phone shutdown
NFC was not disabled/deinitialized when phone shutdown. This patch
add NFC disable on phone shutdown which can complete any pending
NFC transaction before phone shutdown.

Change-Id: Id1e604be7c34adec8623a1e526d8ff99e18bf74b
2012-04-20 12:11:57 -07:00
Martijn Coenen
20e8dd9f9e Unhide new Beam push APIs.
Also added support for multiple Uris, removed mimeType argument.

Change-Id: Iad2c4d0e36a174080d7bc9c9c8ab893f90231d02
2012-04-12 16:37:18 -07:00
Martijn Coenen
5b4a57973c Merge "Make sure initial activity state is correct." 2012-04-05 11:17:03 -07:00
Martijn Coenen
20fe5378d7 Make sure initial activity state is correct.
Change-Id: Ic6199b42e59afa06a0f38f866e2924b84cd234b3
2012-04-05 11:10:29 -07:00
Martijn Coenen
d9966c4c21 Merge "Patch to support MIFARE with SAK 0x01" 2012-04-05 09:37:11 -07:00
Nick Pelly
1d7e906233 First cut at Bluetooth Beam
Change-Id: I37e5759515ff8779095b6d8adf5ad9c456fa8529
2012-04-04 14:08:23 -07:00
Martijn Coenen
30bd284cca Merge "Add API for querying extended length APDU support." 2012-04-04 11:19:08 -07:00
Martijn Coenen
854e077555 Document "disable default Beam" meta-data entry.
Change-Id: Icaa767ee37fcca08b1ff5143eb94cf8e66be840c
2012-04-04 10:48:04 -07:00
Martijn Coenen
fa98cf0573 Add API for querying extended length APDU support.
Bug: 5813943
Change-Id: Iffb415f318e095bde9ed6677b22613d210f8a39c
2012-04-04 10:43:06 -07:00