diff options
| author | Sylvain Fonteneau <sylvain.fonteneau@trusted-logic.com> | 2010-10-18 17:19:45 -0700 |
|---|---|---|
| committer | Nick Pelly <npelly@google.com> | 2010-10-21 03:54:52 -0700 |
| commit | a71354d76689802152c33af257092d639c03c421 (patch) | |
| tree | 32d164e89f339bc3879d63f47556ed1e27606cb0 /core | |
| parent | 7ea5c45e8d89f59065f088d4e11cceeeed9d64d1 (diff) | |
| download | frameworks_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.aidl | 1 | ||||
| -rw-r--r-- | core/java/android/nfc/RawTagConnection.java | 14 |
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; + } } /** |
