summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/current.txt1
-rw-r--r--core/java/android/nfc/INfcAdapter.aidl2
-rw-r--r--core/java/android/nfc/NdefMessage.java30
-rw-r--r--core/java/android/nfc/NfcAdapter.java4
-rw-r--r--core/java/android/nfc/Tag.java16
-rw-r--r--core/java/android/nfc/tech/BasicTagTechnology.java12
-rw-r--r--docs/html/sitemap.txt27
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