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
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
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
Remove NdefMessage from dispatch(). It's already in the Tag.
/*package*/ cleanup
Fix sitemap after removal of NFCDemo
Change-Id: Ie1f6d9ea98144aa97f56bb709a33f5d0ef916e8b
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
o Lots of documentation fixes.
o Add NdefMessage(NdefRecord ... records) ctor
o Add NdefRecord.createMime()
o Add NdefRecord.createExternal()
o Add toString(), equals() and hashCode() implementations
o Deprecate NdefRecord(byte[]) and NdefRecord.toByteArray()
o Remove framework dependency on libnfc_ndef.so
o Remove NfcAdapter.getDefaultAdapter(), its been deprecated a while
next step:
o Attempt to move NdefMessage -> Intent conversion into NDEF, and
make it CTS tested. This will ensure consistent NDEF -> Intent
mapping across all Android devices.
Change-Id: Ifed4910caa9a1d6bad32dbf0a507ab22bca35e22
This can happen when using getContext() instead of getTargetContext()
in an InstrumentationTestCase.
Bug: 5644274
Change-Id: I020a637c271e25bcf25ae2927fd878001d5fea0a
The package name is now required when using the
NFC extras APIs so the context is stored away
and used to derive the package name to be sent
to the NfcService.
Bug: 4515759
Change-Id: I1a3aba3fc026e0090a914b0686fc4b8dec25b927
This reverts commit 562dfff65a. These API's are still used
by GMM in the version that ships with MR1, so we need them to keep Beam working for
GMM. Note that these APIs are hidden.
From version 5.13 onwards GMM will use the new API's.
Change-Id: I316a9c9b7d0052a14f6c1df70f2ed463bca61800
It crashed due to the fact that we're committing a fragment change
after onSaveInstanceState() is called. Instead, commit without
storing the state - as the NfcFragment is something that needs
to be setup explicitly anyway, it is not something the user
expects to be restored.
Bug: 5540962
Change-Id: I5a8cd0e47306f2bbc14b592a0182083bb79cb21a
This fixes scenarios where the same activity sets, unsets
and re-sets an NdefMessage and/or callback.
Bug: 5454848
Change-Id: I5ed98047b9cfe90d2f48656d978f2d08bb4bf0cc