summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorNick Pelly <npelly@google.com>2010-10-17 19:05:47 -0700
committerNick Pelly <npelly@google.com>2010-10-18 10:04:40 -0700
commite47150e933e6f610546f57183477f324566e521e (patch)
tree5a415c5b9fdae883bf4dc507c516dd52ce20db67 /core/java
parentd1f7f4a68375f879671d300510f23d3ee78a500e (diff)
downloadframeworks_base-e47150e933e6f610546f57183477f324566e521e.zip
frameworks_base-e47150e933e6f610546f57183477f324566e521e.tar.gz
frameworks_base-e47150e933e6f610546f57183477f324566e521e.tar.bz2
Fix up NFC permissions.
The initial (vendor) implementation had 4 perms, replace with 1. Requires no permissions: - Viewing UID, type of discovered tags and cards. - Viewing the NDEF message contents of NDEF formatted tags and cards. Requires android.permission.NFC - Get/Set the local tag "MyTag" - Creating or using a RawTagConnection (transceive()) - Creating or using a NdefTagConnection (write()/read()) Change-Id: I1b585c7d91738bed6261277061a48cf7c939482a Signed-off-by: Nick Pelly <npelly@google.com>
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/nfc/NdefTagConnection.java15
-rw-r--r--core/java/android/nfc/NfcAdapter.java13
-rw-r--r--core/java/android/nfc/RawTagConnection.java14
3 files changed, 26 insertions, 16 deletions
diff --git a/core/java/android/nfc/NdefTagConnection.java b/core/java/android/nfc/NdefTagConnection.java
index 4e9865c..4795fa7 100644
--- a/core/java/android/nfc/NdefTagConnection.java
+++ b/core/java/android/nfc/NdefTagConnection.java
@@ -25,6 +25,9 @@ import android.util.Log;
* A connection to an NDEF target on an {@link NdefTag}.
* <p>You can acquire this kind of connection with {@link NfcAdapter#createNdefTagConnection
* createNdefTagConnection()}. Use the connection to read or write {@link NdefMessage}s.
+ * <p class="note"><strong>Note:</strong>
+ * Use of this class requires the {@link android.Manifest.permission#NFC}
+ * permission.
*/
public class NdefTagConnection extends RawTagConnection {
public static final int NDEF_MODE_READ_ONCE = 1;
@@ -69,7 +72,7 @@ public class NdefTagConnection extends RawTagConnection {
* This will always return the most up to date payload, and can block.
* It can be canceled with {@link RawTagConnection#close}.
* Most NDEF tags will contain just one NDEF message.
- * <p>
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
* @throws FormatException if the tag is not NDEF formatted
* @throws IOException if the target is lost or connection closed
* @throws FormatException
@@ -109,8 +112,9 @@ public class NdefTagConnection extends RawTagConnection {
* message. Use {@link NdefRecord} to write several records to a single tag.
* For write-many tags, use {@link #makeReadOnly} after this method to attempt
* to prevent further modification. For write-once tags this is not
- * neccesary.
- * Requires NFC_WRITE permission.
+ * necessary.
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
+ *
* @throws FormatException if the tag is not suitable for NDEF messages
* @throws IOException if the target is lost or connection closed or the
* write failed
@@ -138,7 +142,7 @@ public class NdefTagConnection extends RawTagConnection {
* Attempts to make the NDEF data in this tag read-only.
* This method will block until the action is complete. It can be canceled
* with {@link RawTagConnection#close}.
- * Requires NFC_WRITE permission.
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
* @return true if the tag is now read-only
* @throws IOException if the target is lost, or connection closed
*/
@@ -164,7 +168,8 @@ public class NdefTagConnection extends RawTagConnection {
/**
* Read/Write mode hint.
- * Provides a hint if further reads or writes are likely to suceed.
+ * Provides a hint if further reads or writes are likely to succeed.
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
* @return one of NDEF_MODE
* @throws IOException if the target is lost or connection closed
*/
diff --git a/core/java/android/nfc/NfcAdapter.java b/core/java/android/nfc/NfcAdapter.java
index fb079f4..6f718d3 100644
--- a/core/java/android/nfc/NfcAdapter.java
+++ b/core/java/android/nfc/NfcAdapter.java
@@ -22,7 +22,6 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.util.Log;
-//TODO(npelly) permission {@link android.Manifest.permission#NFC_MODIFY}
/**
* Represents the device's local NFC adapter.
* <p>
@@ -35,7 +34,7 @@ import android.util.Log;
* to NFC Tags.
* <p class="note">
* <strong>Note:</strong> Some methods require the
- * TODO permission.
+ * {@link android.Manifest.permission#NFC} permission.
*/
public final class NfcAdapter {
/**
@@ -231,8 +230,7 @@ public final class NfcAdapter {
* <li>provide the NDEF message on over LLCP to peer NFC adapters
* </ul>
* The NDEF message is preserved across reboot.
- * <p>
- * Requires NFC_WRITE permission
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
*
* @param message NDEF message to make public
*/
@@ -246,8 +244,7 @@ public final class NfcAdapter {
/**
* Get the NDEF Message that this adapter appears as to Tag readers.
- * <p>
- * Requires NFC_WRITE permission
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
*
* @return NDEF Message that is publicly readable
*/
@@ -262,6 +259,7 @@ public final class NfcAdapter {
/**
* Create a raw tag connection to the default Target
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
*/
public RawTagConnection createRawTagConnection(Tag tag) {
try {
@@ -274,6 +272,7 @@ public final class NfcAdapter {
/**
* Create a raw tag connection to the specified Target
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
*/
public RawTagConnection createRawTagConnection(Tag tag, String target) {
try {
@@ -286,6 +285,7 @@ public final class NfcAdapter {
/**
* Create an NDEF tag connection to the default Target
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
*/
public NdefTagConnection createNdefTagConnection(NdefTag tag) {
try {
@@ -298,6 +298,7 @@ public final class NfcAdapter {
/**
* Create an NDEF tag connection to the specified Target
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
*/
public NdefTagConnection createNdefTagConnection(NdefTag tag, String target) {
try {
diff --git a/core/java/android/nfc/RawTagConnection.java b/core/java/android/nfc/RawTagConnection.java
index 37d700c..265eb1b 100644
--- a/core/java/android/nfc/RawTagConnection.java
+++ b/core/java/android/nfc/RawTagConnection.java
@@ -30,7 +30,7 @@ import android.util.Log;
* Applications must implement their own protocol stack on top of {@link #transceive transceive()}.
*
* <p class="note"><strong>Note:</strong>
- * Most methods require the TODO
+ * Use of this class requires the {@link android.Manifest.permission#NFC}
* permission.
*/
public class RawTagConnection {
@@ -71,11 +71,15 @@ public class RawTagConnection {
/**
* Get the {@link Tag} this connection is associated with.
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
*/
public Tag getTag() {
return mTag;
}
+ /**
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
+ */
public String getTagTarget() {
return mSelectedTarget;
}
@@ -84,7 +88,7 @@ public class RawTagConnection {
* Helper to indicate if {@link #transceive transceive()} calls might succeed.
* <p>
* Does not cause RF activity, and does not block.
- * <p>
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
* @return true if {@link #connect} has completed successfully and the {@link Tag} is believed
* to be within range. Applications must still handle {@link java.io.IOException}
* while using {@link #transceive transceive()}, in case connection is lost after this method
@@ -104,7 +108,7 @@ public class RawTagConnection {
* <p>
* {@link #close} can be called from another thread to cancel this connection
* attempt.
- *
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
* @throws IOException if the target is lost, or connect canceled
*/
public void connect() throws IOException {
@@ -120,6 +124,7 @@ public class RawTagConnection {
* <p>
* Once this method is called, this object cannot be re-used and should be discarded. Further
* calls to {@link #transceive transceive()} or {@link #connect} will fail.
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
*/
public void close() {
mIsConnected = false;
@@ -135,8 +140,7 @@ public class RawTagConnection {
* <p>
* This method will block until the response is received. It can be canceled
* with {@link #close}.
- * <p>
- * Requires NFC_WRITE permission.
+ * <p>Requires {@link android.Manifest.permission#NFC} permission.
*
* @param data bytes to send
* @return bytes received in response