diff options
-rw-r--r-- | api/current.txt | 1 | ||||
-rw-r--r-- | core/java/android/nfc/INfcAdapter.aidl | 2 | ||||
-rw-r--r-- | core/java/android/nfc/NdefMessage.java | 30 | ||||
-rw-r--r-- | core/java/android/nfc/NfcAdapter.java | 4 | ||||
-rw-r--r-- | core/java/android/nfc/Tag.java | 16 | ||||
-rw-r--r-- | core/java/android/nfc/tech/BasicTagTechnology.java | 12 | ||||
-rw-r--r-- | docs/html/sitemap.txt | 27 |
7 files changed, 42 insertions, 50 deletions
diff --git a/api/current.txt b/api/current.txt index 2eb54fb..4309154 100644 --- a/api/current.txt +++ b/api/current.txt @@ -12621,6 +12621,7 @@ package android.nfc { ctor public NdefMessage(android.nfc.NdefRecord, android.nfc.NdefRecord...); ctor public NdefMessage(android.nfc.NdefRecord[]); method public int describeContents(); + method public int getByteLength(); method public android.nfc.NdefRecord[] getRecords(); method public byte[] toByteArray(); method public void writeToParcel(android.os.Parcel, int); diff --git a/core/java/android/nfc/INfcAdapter.aidl b/core/java/android/nfc/INfcAdapter.aidl index d2afbb9..61bc324 100644 --- a/core/java/android/nfc/INfcAdapter.aidl +++ b/core/java/android/nfc/INfcAdapter.aidl @@ -44,5 +44,5 @@ interface INfcAdapter in IntentFilter[] filters, in TechListParcel techLists); void setForegroundNdefPush(in NdefMessage msg, in INdefPushCallback callback); - void dispatch(in Tag tag, in NdefMessage message); + void dispatch(in Tag tag); } diff --git a/core/java/android/nfc/NdefMessage.java b/core/java/android/nfc/NdefMessage.java index c83144f..dc501ab 100644 --- a/core/java/android/nfc/NdefMessage.java +++ b/core/java/android/nfc/NdefMessage.java @@ -158,7 +158,28 @@ public final class NdefMessage implements Parcelable { } /** - * Return this NDEF MEssage as raw bytes.<p> + * Return the length of this NDEF Message if it is written to a byte array + * with {@link #toByteArray}.<p> + * An NDEF Message can be formatted to bytes in different ways + * depending on chunking, SR, and ID flags, so the length returned + * by this method may not be equal to the length of the original + * byte array used to construct this NDEF Message. However it will + * always be equal to the length of the byte array produced by + * {@link #toByteArray}. + * + * @return length of this NDEF Message when written to bytes with {@link toByteArray} + * @see #toByteArray + */ + public int getByteArrayLength() { + int length = 0; + for (NdefRecord r : mRecords) { + length += r.getByteLength(); + } + return length; + } + + /** + * Return this NDEF Message as raw bytes.<p> * The NDEF Message is formatted as per the NDEF 1.0 specification, * and the byte array is suitable for network transmission or storage * in an NFC Forum NDEF compatible tag.<p> @@ -166,13 +187,10 @@ public final class NdefMessage implements Parcelable { * short record (SR) format and omit the identifier field when possible. * * @return NDEF Message in binary format + * @see getByteArrayLength */ public byte[] toByteArray() { - int length = 0; - for (NdefRecord r : mRecords) { - length += r.getByteLength(); - } - + int length = getByteArrayLength(); ByteBuffer buffer = ByteBuffer.allocate(length); for (int i=0; i<mRecords.length; i++) { diff --git a/core/java/android/nfc/NfcAdapter.java b/core/java/android/nfc/NfcAdapter.java index 224a8bc..5176857 100644 --- a/core/java/android/nfc/NfcAdapter.java +++ b/core/java/android/nfc/NfcAdapter.java @@ -889,12 +889,12 @@ public final class NfcAdapter { * {@link android.Manifest.permission#WRITE_SECURE_SETTINGS} permission. * @hide */ - public void dispatch(Tag tag, NdefMessage message) { + public void dispatch(Tag tag) { if (tag == null) { throw new NullPointerException("tag cannot be null"); } try { - sService.dispatch(tag, message); + sService.dispatch(tag); } catch (RemoteException e) { attemptDeadServiceRecovery(e); } diff --git a/core/java/android/nfc/Tag.java b/core/java/android/nfc/Tag.java index 9fe0bed..f9b765c 100644 --- a/core/java/android/nfc/Tag.java +++ b/core/java/android/nfc/Tag.java @@ -108,14 +108,14 @@ import java.util.Arrays; * <p> */ public final class Tag implements Parcelable { - /*package*/ final byte[] mId; - /*package*/ final int[] mTechList; - /*package*/ final String[] mTechStringList; - /*package*/ final Bundle[] mTechExtras; - /*package*/ final int mServiceHandle; // for use by NFC service, 0 indicates a mock - /*package*/ final INfcTag mTagService; // interface to NFC service, will be null if mock tag - - /*package*/ int mConnectedTechnology; + final byte[] mId; + final int[] mTechList; + final String[] mTechStringList; + final Bundle[] mTechExtras; + final int mServiceHandle; // for use by NFC service, 0 indicates a mock + final INfcTag mTagService; // interface to NFC service, will be null if mock tag + + int mConnectedTechnology; /** * Hidden constructor to be used by NFC service and internal classes. diff --git a/core/java/android/nfc/tech/BasicTagTechnology.java b/core/java/android/nfc/tech/BasicTagTechnology.java index 913ae0e..b6b347c 100644 --- a/core/java/android/nfc/tech/BasicTagTechnology.java +++ b/core/java/android/nfc/tech/BasicTagTechnology.java @@ -18,7 +18,6 @@ package android.nfc.tech; import android.nfc.ErrorCodes; import android.nfc.Tag; -import android.nfc.TagLostException; import android.nfc.TransceiveResult; import android.os.RemoteException; import android.util.Log; @@ -28,12 +27,13 @@ import java.io.IOException; /** * A base class for tag technologies that are built on top of transceive(). */ -/* package */ abstract class BasicTagTechnology implements TagTechnology { +abstract class BasicTagTechnology implements TagTechnology { private static final String TAG = "NFC"; - /*package*/ final Tag mTag; - /*package*/ boolean mIsConnected; - /*package*/ int mSelectedTechnology; + final Tag mTag; + + boolean mIsConnected; + int mSelectedTechnology; BasicTagTechnology(Tag tag, int tech) throws RemoteException { mTag = tag; @@ -139,7 +139,7 @@ import java.io.IOException; } } /** Internal transceive */ - /*package*/ byte[] transceive(byte[] data, boolean raw) throws IOException { + byte[] transceive(byte[] data, boolean raw) throws IOException { checkConnected(); try { diff --git a/docs/html/sitemap.txt b/docs/html/sitemap.txt index 0298a8e..cfbda2b 100644 --- a/docs/html/sitemap.txt +++ b/docs/html/sitemap.txt @@ -231,7 +231,6 @@ http://developer.android.com/resources/samples/JetBoy/index.html http://developer.android.com/resources/samples/CubeLiveWallpaper/index.html http://developer.android.com/resources/samples/LunarLander/index.html http://developer.android.com/resources/samples/MultiResolution/index.html -http://developer.android.com/resources/samples/NFCDemo/index.html http://developer.android.com/resources/samples/NotePad/index.html http://developer.android.com/resources/samples/SampleSyncAdapter/index.html http://developer.android.com/resources/samples/SearchableDictionary/index.html @@ -1996,17 +1995,6 @@ http://developer.android.com/reference/java/io/Reader.html http://developer.android.com/reference/android/content/DialogInterface.html http://developer.android.com/reference/org/apache/http/message/BasicHeaderIterator.html http://developer.android.com/reference/org/apache/http/message/BasicListHeaderIterator.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/nfc/TagViewer.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/nfc/NdefMessageParser.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/nfc/record/ParsedNdefRecord.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/nfc/record/SmartPoster.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/nfc/record/TextRecord.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/nfc/record/UriRecord.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/nfc/simulator/FakeTagsActivity.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/nfc/simulator/MockNdefMessages.html -http://developer.android.com/resources/samples/NFCDemo/res/index.html -http://developer.android.com/resources/samples/NFCDemo/src/index.html -http://developer.android.com/resources/samples/NFCDemo/AndroidManifest.html http://developer.android.com/reference/java/lang/InternalError.html http://developer.android.com/reference/java/lang/Error.html http://developer.android.com/reference/java/lang/VirtualMachineError.html @@ -3039,7 +3027,6 @@ http://developer.android.com/sdk/api_diff/3/changes/pkg_dalvik.system.html http://developer.android.com/sdk/api_diff/3/changes/pkg_java.lang.html http://developer.android.com/sdk/api_diff/3/changes/pkg_java.util.jar.html http://developer.android.com/sdk/api_diff/3/changes/pkg_java.util.logging.html -http://developer.android.com/resources/samples/NFCDemo/src/com/index.html http://developer.android.com/sdk/api_diff/9/changes/alldiffs_index_removals.html http://developer.android.com/sdk/api_diff/9/changes/alldiffs_index_additions.html http://developer.android.com/sdk/api_diff/9/changes/alldiffs_index_changes.html @@ -3514,7 +3501,6 @@ http://developer.android.com/reference/javax/sql/ConnectionPoolDataSource.html http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/LabelView.html http://developer.android.com/resources/samples/ApiDemos/res/layout/custom_view_1.html http://developer.android.com/resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/index.html http://developer.android.com/reference/org/apache/http/conn/ssl/SSLSocketFactory.html http://developer.android.com/reference/android/location/package-descr.html http://developer.android.com/resources/samples/AccessibilityService/res/values/strings.html @@ -3939,10 +3925,6 @@ http://developer.android.com/reference/android/graphics/drawable/shapes/RoundRec http://developer.android.com/resources/samples/ContactManager/res/drawable-mdpi/icon.html http://developer.android.com/resources/samples/BackupRestore/src/com/example/index.html http://developer.android.com/reference/org/apache/http/message/package-descr.html -http://developer.android.com/resources/samples/NFCDemo/res/drawable/index.html -http://developer.android.com/resources/samples/NFCDemo/res/layout/index.html -http://developer.android.com/resources/samples/NFCDemo/res/raw/index.html -http://developer.android.com/resources/samples/NFCDemo/res/values/index.html http://developer.android.com/reference/android/bluetooth/package-descr.html http://developer.android.com/resources/samples/SipDemo/res/drawable/index.html http://developer.android.com/resources/samples/SipDemo/res/layout/index.html @@ -4110,7 +4092,6 @@ http://developer.android.com/sdk/api_diff/9/changes/methods_index_removals.html http://developer.android.com/sdk/api_diff/9/changes/methods_index_additions.html http://developer.android.com/sdk/api_diff/9/changes/methods_index_changes.html http://developer.android.com/reference/android/media/audiofx/package-descr.html -http://developer.android.com/resources/samples/NFCDemo/res/values/strings.html http://developer.android.com/reference/android/sax/ElementListener.html http://developer.android.com/reference/android/sax/EndElementListener.html http://developer.android.com/reference/android/sax/EndTextElementListener.html @@ -4599,7 +4580,6 @@ http://developer.android.com/resources/samples/SoftKeyboard/src/com/index.html http://developer.android.com/reference/android/text/method/package-descr.html http://developer.android.com/resources/samples/JetBoy/JETBOY_content/JETBOY_Music.logic/LgDoc/index.html http://developer.android.com/resources/samples/TicTacToeMain/res/layout/main.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/index.html http://developer.android.com/resources/samples/SearchableDictionary/res/drawable-mdpi/ic_menu_search.html http://developer.android.com/resources/samples/TicTacToeMain/res/values/strings.html http://developer.android.com/sdk/api_diff/7/changes/alldiffs_index_additions.html @@ -4637,9 +4617,6 @@ http://developer.android.com/resources/samples/SoftKeyboard/res/values/index.htm http://developer.android.com/resources/samples/SoftKeyboard/res/values-land/index.html http://developer.android.com/resources/samples/SoftKeyboard/res/xml/index.html http://developer.android.com/reference/junit/runner/package-descr.html -http://developer.android.com/resources/samples/NFCDemo/res/layout/tag_divider.html -http://developer.android.com/resources/samples/NFCDemo/res/layout/tag_text.html -http://developer.android.com/resources/samples/NFCDemo/res/layout/tag_viewer.html http://developer.android.com/resources/samples/AccelerometerPlay/res/drawable-ldpi/icon.html http://developer.android.com/resources/samples/CubeLiveWallpaper/src/com/example/index.html http://developer.android.com/reference/android/text/style/package-descr.html @@ -4726,14 +4703,12 @@ http://developer.android.com/resources/samples/SoftKeyboard/res/values-land/dime http://developer.android.com/sdk/api_diff/3/changes/classes_index_additions.html http://developer.android.com/sdk/api_diff/3/changes/classes_index_changes.html http://developer.android.com/resources/samples/WiktionarySimple/src/com/index.html -http://developer.android.com/resources/samples/NFCDemo/res/drawable/icon.html http://developer.android.com/resources/samples/SearchableDictionary/res/drawable-hdpi/ic_menu_search.html http://developer.android.com/resources/samples/SipDemo/res/values/strings.html http://developer.android.com/resources/samples/SpinnerTest/src/com/android/index.html http://developer.android.com/sdk/api_diff/3/changes/methods_index_removals.html http://developer.android.com/sdk/api_diff/3/changes/methods_index_additions.html http://developer.android.com/sdk/api_diff/3/changes/methods_index_changes.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/nfc/index.html http://developer.android.com/resources/samples/SoftKeyboard/res/xml/method.html http://developer.android.com/resources/samples/SoftKeyboard/res/xml/qwerty.html http://developer.android.com/resources/samples/SoftKeyboard/res/xml/symbols.html @@ -5326,8 +5301,6 @@ http://developer.android.com/resources/samples/ApiDemos/res/drawable-ldpi/stylog http://developer.android.com/sdk/api_diff/5/changes/alldiffs_index_removals.html http://developer.android.com/sdk/api_diff/5/changes/alldiffs_index_additions.html http://developer.android.com/sdk/api_diff/5/changes/alldiffs_index_changes.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/nfc/record/index.html -http://developer.android.com/resources/samples/NFCDemo/src/com/example/android/nfc/simulator/index.html http://developer.android.com/resources/samples/BackupRestore/src/com/example/android/index.html http://developer.android.com/resources/samples/BluetoothChat/src/com/example/android/BluetoothChat/index.html http://developer.android.com/resources/samples/ContactManager/src/com/example/android/index.html |