summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorSylvain Fonteneau <sylvain.fonteneau@trusted-logic.com>2010-10-18 17:19:45 -0700
committerNick Pelly <npelly@google.com>2010-10-21 03:54:52 -0700
commita71354d76689802152c33af257092d639c03c421 (patch)
tree32d164e89f339bc3879d63f47556ed1e27606cb0 /core
parent7ea5c45e8d89f59065f088d4e11cceeeed9d64d1 (diff)
downloadframeworks_base-a71354d76689802152c33af257092d639c03c421.zip
frameworks_base-a71354d76689802152c33af257092d639c03c421.tar.gz
frameworks_base-a71354d76689802152c33af257092d639c03c421.tar.bz2
Enable presence check at application level using
RawTagConnection.isConnected() method. Also needs packages/apps/Nfc to be updated. Change-Id: I726e88853e2c4b348f3b87b7574bc6eded7f5b7c Signed-off-by: Nick Pelly <npelly@google.com>
Diffstat (limited to 'core')
-rw-r--r--core/java/android/nfc/INfcTag.aidl1
-rw-r--r--core/java/android/nfc/RawTagConnection.java14
2 files changed, 11 insertions, 4 deletions
diff --git a/core/java/android/nfc/INfcTag.aidl b/core/java/android/nfc/INfcTag.aidl
index 2171434..13b97d6 100644
--- a/core/java/android/nfc/INfcTag.aidl
+++ b/core/java/android/nfc/INfcTag.aidl
@@ -28,6 +28,7 @@ interface INfcTag
String getType(int nativeHandle);
byte[] getUid(int nativeHandle);
boolean isNdef(int nativeHandle);
+ boolean isPresent(int nativeHandle);
byte[] transceive(int nativeHandle, in byte[] data);
int getLastError(int nativeHandle);
diff --git a/core/java/android/nfc/RawTagConnection.java b/core/java/android/nfc/RawTagConnection.java
index 265eb1b..1261db1 100644
--- a/core/java/android/nfc/RawTagConnection.java
+++ b/core/java/android/nfc/RawTagConnection.java
@@ -95,10 +95,16 @@ public class RawTagConnection {
* returns true.
*/
public boolean isConnected() {
- // TODO(nxp): update mIsConnected when tag goes out of range -
- // but do not do an active prescence check in
- // isConnected()
- return mIsConnected;
+ if (!mIsConnected) {
+ return false;
+ }
+
+ try {
+ return mTagService.isPresent(mTag.mNativeHandle);
+ } catch (RemoteException e) {
+ Log.e(TAG, "NFC service died", e);
+ return false;
+ }
}
/**