History log of /packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7c2a4cb8c6adbcb42992ed6281a908beec0abf39 14-Oct-2014 Nick Kralevich <nnk@google.com> am f3d9d8a9: Merge "Correct message on missing permission android.permission.NFC"

* commit 'f3d9d8a9f8fe33ec9ea120b528adf6d2dfc14dd4':
Correct message on missing permission android.permission.NFC
b58a7494a893c957a8c04397eb28a4bf2fe1db54 10-Oct-2014 Martijn Coenen <maco@google.com> Disable service cache debug.

Bug: 17938118
Change-Id: I28ea3ad4b6f1b317493b3e67117b80952a04f478
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
8a527f144e05da334f6add4bede8d77c1acb91a4 30-Sep-2014 William Roberts <w2.roberts@samsung.com> Correct message on missing permission android.permission.NFC

If an application doing HCE is missing the android.permission.NFC
permission, the error message is quite obscure.
Current:
E/RegisteredServicesCache( 1043): Skipping APDU service ComponentInfo{com.my.app/com.my.app.HCEExample}: it does not require the permission android.permission.NFC
Patched:
E/RegisteredServicesCache( 1043): Skipping application component ComponentInfo{com.my.app/com.my.app.HCEExample}: it must request the permission android.permission.NFC
Patched:

Change-Id: I206924bcf1ce667d9d805545997ee76816aa7e38
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
31208d3ee36f583fd998c89508a3e93bb550cb29 30-Jul-2014 Martijn Coenen <maco@google.com> Support for AID prefix registration.

Bug: 16517161
Change-Id: I8bc58ac0e9fb6684a7ee22d712dbbd91279d4c30
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
6c9c4cb63ae9ea8d614b0f23a6b1f0d664e730c3 03-Jul-2014 Martijn Coenen <maco@google.com> Merge "Clean up dynamic AID XML parsing."
f12b6d0b08563211ad7c5903330f454bdd1970bb 02-Jul-2014 Martijn Coenen <maco@google.com> Clean up dynamic AID XML parsing.

Change-Id: I20f953a893082d72099fd4624f1012769370fb25
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
bb02d46705215b9ed44fd19584c8a9b8f6f6268c 02-Jul-2014 Martijn Coenen <maco@google.com> Validate AIDs on incoming Binder calls.

In case direct callers try to input malformed
AIDs.

Change-Id: Ic3d3ee374f25b5b675a218680c0ed450f7f93f2c
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
7713ef16cce6989d21a8a8e4746837e291485526 02-Jul-2014 Martijn Coenen <maco@google.com> Merge "Validate AIDs on incoming Binder calls."
ea8bbf3e6a41b4ace768f0b2c74bdcf21e2aee64 27-Jun-2014 Martijn Coenen <maco@google.com> Prevent foreground app from grabbing AIDs.

With the new foreground / dynamic AID registration APIs,
the following scenario could happen:

1) User has configured device to not allow payment apps
to be overriden by foreground apps.
2) App X doesn't register any payment AIDs, and asks the
OS to receive foreground preference.
3) The OS grants this, because there are no payment AIDs
requested.
4) App X then calls the dynamic AID registration API to
register payment AIDs that conflict with the default
payment app.
5) The OS assigns the AIDs, recomputes the routing table,
and now routes these AIDs to APP X, ignoring user
preferences.

Bug: 15933251
Change-Id: I803794fac8d086d809a0bafa0b2eedfb91cce77a
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
af3e301d7820bc0a2447db8af16ab5335e6bd520 10-Apr-2014 Martijn Coenen <maco@google.com> Support for dynamic AID registration.

Change-Id: Iac786c395e2f46e54f74e6c643cd0b9414af333b
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
dba891595bc0bbcb8f0810b4d014e935aa1955c5 23-Oct-2013 Martijn Coenen <maco@google.com> HCE: Fix potential crash and handle Android AID.

For new "default route" CTS test. Also, fix
a potential crash for starting off-host services
and check that HCE services have declared the
NFC permission.

Bug: 10681671
Change-Id: If86d9820d6eef5a0661be92be67168d5f81ddc64
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
341b2c02da8b4d2a681f3fbcc5657921ad421e32 07-Oct-2013 Martijn Coenen <maco@google.com> Disable HCE debug logging.

But add some code to dump information about the
HCE service/AID cache in bugreports.

Bug: 11142134
Change-Id: I7387748bcf93e92ab2f25bc307941cdeccaca4ef
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
8d57f1f5bd4ab7fba3c401d7e02fb46a54d3b931 04-Sep-2013 Martijn Coenen <maco@google.com> Remove support for legacy APIs.

Bug: 10550349
Change-Id: Ifa5c9893373a69b1561dfa72fbd5f9c268f8f66e
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
f5cd84c3a7ffb66196ab3c0745569da937d7533b 30-Aug-2013 Martijn Coenen <maco@google.com> Upgrade to new API changes.

Following API review. Also:
- Added support for pause/resume P2P in reader mode
- Fixed bug where we tried to route even when NFC was off,
causing lockups.

Bug: 10550349
Bug: 10552589
-

Change-Id: I48f6834386bd542bdf1b7f1a8b1072d8981b0915
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
451ba48faa87d78bfbec0597ff06af1747cf6acb 29-Aug-2013 Martijn Coenen <maco@google.com> HCE: API updates, default handling, lock-screen.

- Use new selection mode APIs
- Fixed up default handling
- Check if service requires device unlock before dispatching
- Fixed isDefaultServiceForAid()
- Fixed a bug where we created two routing managers

Change-Id: Iba4a3ce7f599974ccedbf8d301cc46ff1e99c94e
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
78976de08ad5d5f9d5fcba28f3ea82350907a782 15-Aug-2013 Martijn Coenen <maco@google.com> HCE UX: Display dialog on service failure indication.

Also:
- Refactor AID handling to separate class.
- Implement unHandled() call from service.
- Verify the service's identify by checking replyTo param
- Return 6F00 in case we can't parse an APDU for whatever reason.

Bug: 10262585
Change-Id: I1a3ccb9ae57107d68cf5923c3cf05bd224f93e4e
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
4358172f18871d58d5bc2050e4d9d0bf9bc2d5e5 10-Aug-2013 Martijn Coenen <maco@google.com> HCE: dialog when default app is removed

Plus some other stuff:
- Fix locking in AidRoutingManager
- Simplify default handling

Change-Id: I46ed2e645cdef9c2778ac7ae263f698391e3e22b
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
89c893312d524f50c47b0d32071f3de8631197f3 08-Aug-2013 Martijn Coenen <maco@google.com> HCE: permissions, OffHost services, payment service.

- Added permission and userId checks for all new
incoming binder calls.
- Started enumerating OffHostApduServies correctly,
dealing with the routing as we go.
- Fixed up HostEmulationManager logic to work with the
correct service; check if service is already bound.
- Persistently bind to payment service if one has been
selected as default by the user.
- Return 6A82 for AIDs that are not found.

Change-Id: I7b8121bec54b815d94b49747bc4f2bb00de26b36
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
62372fdecd77cc07db475e79e366e6864b44b956 07-Aug-2013 Martijn Coenen <maco@google.com> Invalidate HCE service cache upon user switch.

Change-Id: I022c15485798b164c6278e2abc9407da5d101e50
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
75f63db568f953e935e62cb3046d167b881979c8 07-Aug-2013 Martijn Coenen <maco@google.com> HCE: 1-time tap overrides, chooser/tap again.

- Added two dialogs for dealing with app selection
and asking the user to "Tap Again" once an app
has been selected.
- Logic for dealing with 1-time tap overrides and
defaults.

UX still to be finalized.

Change-Id: I10f9fed6ef8aa6255a88f6a518af9875068ddac4
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
a0b908c58b5ab0d242ccc545d14573901774bd29 31-Jul-2013 Martijn Coenen <maco@google.com> More HCE work.

- Factor our helper class containing information about
(Off)HostApduServices to ApduServiceInfo.
- New BIND_NFC_SERVICE permission to protect implementing
services from other apps binding.
- Implement INfcCardEmulationService interface from
the framework APIs.
- Observe changes in settings for default apps in a
category.
- Single algorithm that resolves AIDs to a list of eligible
services, taking into account defaults as well. Result of
that algorithm feeds directly into the routing decisions.
- Removed old persisting code, everything is in Settings.Secure now.

Change-Id: I1840710f19435b079d20a4a41642b79fd03d1c76
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
717a8bdc43aa9328899df86cb523430466cf5baa 26-Jul-2013 Martijn Coenen <maco@google.com> Update to use latest XML-grammar in framework.

Also clean up a bit and get rid of some nasty dependencies.

Change-Id: I8fe5a787830a583f3e85e9ead1b002feed8de223
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
a56a84a384db51809101e149d83bf41b5e198ca0 23-Jul-2013 Martijn Coenen <maco@google.com> HCE: Update XML grammar to reflect framework.

Also, keep sending SE broadcasts for now.

Change-Id: Ic960066f2374e7ecba1df89468dfc35f97d3ce2c
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java
6493859b424f65af79e3e13835f7dfed38495c00 20-Jul-2013 Martijn Coenen <maco@google.com> HCE: use new platform APIs.

The service interface is now defined in the platform.

Change-Id: I6dbffed4d8185f437880912179f69b91e1a51cd9
/packages/apps/Nfc/src/com/android/nfc/cardemulation/RegisteredServicesCache.java