Commit Graph

210 Commits

Author SHA1 Message Date
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
Sunil Jogi
72677c98bd Patch to support MIFARE with SAK 0x01
Change-Id: Ic30c083bb43b37f90beefc0ff165ba2713635a7f
2012-04-02 10:37:55 -07:00
Martijn Coenen
5eeee5e0bb Merge "Fix permission documentation." 2012-03-30 09:43:44 -07:00
Martijn Coenen
6c65344fcf Fix permission documentation.
It was incorrect in one case. Also removed obsolete
interface method.

Change-Id: I211fb57e3504e06ff09cf31857c89e2b0e93d679
2012-03-29 15:59:31 -07:00
Martijn Coenen
47ece23651 Merge "Fix NDEF documentation to indicate the message may be null." 2012-03-29 13:25:55 -07:00
Martijn Coenen
a032783241 Fix NDEF documentation to indicate the message may be null.
The current NFC stack formats tags to the INITIALIZED state
as defined by NFC forum; in that state the tag has the
NDEF Capability Container, but does not contain any message
yet.

Tags in that state (correctly) return the NDEF technology,
but the documentation does not specify that the message
may be null.

Also, get rid of buggy getLastErrorCode and use
(cached) presence check value to determine if tag was
lost during read.

Change-Id: If4293428093024ba9cda5dd7c9979b8b06353234
2012-03-29 11:24:15 -07:00
Martijn Coenen
0c1c1eb1c8 Merge "Allow formatting a tag as NDEF without a message." 2012-03-29 10:56:49 -07:00
Martijn Coenen
2976da0305 Allow formatting a tag as NDEF without a message.
Change-Id: I53a219eec17450b2d0ddc42556f0b930d9b34615
2012-03-29 10:09:19 -07:00
Nick Pelly
8ce7a27770 Use Application#registerLifecycleEvents() instead of a Fragment for Beam.
Fragments don't work as desired if called after life-cycle events
such as onDestory() or onSaveInstanceState().

The new approach doesn't work after onDestroy() either, but we can more
easily detect this now. For pre-JB apps, we will log an error, and for
JB and onwards we will throw.

Update documentation to make these rules clear, and to encourage
the use of a single Activity per API call, and to make the call
in onCreate().

Bug: 5199662
Bug: 5994691
Bug: 6034901
Bug: 6125297

Change-Id: Ib0dde6abfa44cd56c7ddc13ba0ad0e83bbe30058
2012-03-29 09:52:32 -07:00
Martijn Coenen
188cddb1d8 Hidden API for setting p2p NFC modes.
Change-Id: I406bab36b441cf99b5b45f51701dbcbab588a9b0
2012-03-01 15:23:01 -08:00
Nick Pelly
d3cb80d2af Fix doc bug.
Change-Id: Ib7361abb0461d4295e889c505dd45e3a40193451
2012-01-27 11:03:05 -08:00
Nick Pelly
1f5badc1cb Add NdefMessage.getByteLength(), and more minor fixes:
Remove NdefMessage from dispatch(). It's already in the Tag.
/*package*/ cleanup
Fix sitemap after removal of NFCDemo

Change-Id: Ie1f6d9ea98144aa97f56bb709a33f5d0ef916e8b
2012-01-26 14:21:19 -08:00
Nick Pelly
c97a552023 Improve NDEF API's
o Add NdefRecord.toMimeType()
  Maps the record to a MIME type
o Add NdefRecord.toUri()
  Maps the record to a URI
o Add hidden NfcAdapter.dispatch()
  Helps test the dispatch path.
o Modify createMime(), createUri() and createExternal():
  Do not try and strictly follow RFC requirements for URI or MIME content
  types. This just leads to heartbreak - the RFC requirements are too strict.
  For example RFC1341 forbids the use of '.' in a MIME type, however this is in
  common use in types such as "application/vnd.companyname". I think the best
  approach is to only remove 'obvious' whitespace issues, and to convert
  uppercase to lowercase as per Android guidelines.

Change-Id: Id686f5f3b05b2dceafad48e1cfcbdb2b3890b854
2012-01-25 13:17:19 -08:00