diff options
author | Nick Pelly <npelly@google.com> | 2010-12-20 11:33:13 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-12-20 11:33:13 -0800 |
commit | 198a9452c1f276b67da9f67da77c49d66c432e1f (patch) | |
tree | a125135c9dd23dc1a212b36af6a9dfe51c987ba9 | |
parent | a4a0e5ee5921557be4d0d521494d061812e9b566 (diff) | |
parent | 623baf8edb5301ee412a428a5b25ea38d7b39f91 (diff) | |
download | frameworks_base-198a9452c1f276b67da9f67da77c49d66c432e1f.zip frameworks_base-198a9452c1f276b67da9f67da77c49d66c432e1f.tar.gz frameworks_base-198a9452c1f276b67da9f67da77c49d66c432e1f.tar.bz2 |
am 623baf8e: am 29f9ee97: Merge "Need to check ndef before writing ndef." into gingerbread
* commit '623baf8edb5301ee412a428a5b25ea38d7b39f91':
Need to check ndef before writing ndef.
-rw-r--r-- | core/java/android/nfc/technology/Ndef.java | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/core/java/android/nfc/technology/Ndef.java b/core/java/android/nfc/technology/Ndef.java index c45c97d..cd12249 100644 --- a/core/java/android/nfc/technology/Ndef.java +++ b/core/java/android/nfc/technology/Ndef.java @@ -148,17 +148,23 @@ public final class Ndef extends BasicTagTechnology { checkConnected(); try { - int errorCode = mTagService.ndefWrite(mTag.getServiceHandle(), msg); - switch (errorCode) { - case ErrorCodes.SUCCESS: - break; - case ErrorCodes.ERROR_IO: - throw new IOException(); - case ErrorCodes.ERROR_INVALID_PARAM: - throw new FormatException(); - default: - // Should not happen - throw new IOException(); + int serviceHandle = mTag.getServiceHandle(); + if (mTagService.isNdef(serviceHandle)) { + int errorCode = mTagService.ndefWrite(serviceHandle, msg); + switch (errorCode) { + case ErrorCodes.SUCCESS: + break; + case ErrorCodes.ERROR_IO: + throw new IOException(); + case ErrorCodes.ERROR_INVALID_PARAM: + throw new FormatException(); + default: + // Should not happen + throw new IOException(); + } + } + else { + throw new IOException("Tag is not ndef"); } } catch (RemoteException e) { attemptDeadServiceRecovery(e); |