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
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
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
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
- 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
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
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
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
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
Indicate that if the device does not support Bluetooth or WiFI,
calling the API is a no-op.
Bug: 6620788
Change-Id: Ib261e0e7855d0914e97803b3b808015b72f3a186
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