OSDN Git Service

NFC Adapter Extras API update.
authorNick Pelly <npelly@google.com>
Fri, 17 Jun 2011 17:56:39 +0000 (10:56 -0700)
committerNick Pelly <npelly@google.com>
Fri, 17 Jun 2011 21:51:40 +0000 (14:51 -0700)
Remove
o registerTearDownApdus()
o deregisterTearDownApdus()
They were already NO-OPS, and don't work in the general case.

Add
o authenticate(byte[] token)
This future proofs us for a more flexible access control scheme.

Change-Id: I4cb67ceeb63d61cbc333c9b244a96d8687402168

core/java/android/nfc/INfcAdapterExtras.aidl
nfc-extras/java/com/android/nfc_extras/NfcAdapterExtras.java

index 8677a50..0c2a2fd 100755 (executable)
@@ -16,7 +16,6 @@
 
 package android.nfc;
 
-import android.nfc.ApduList;
 import android.os.Bundle;
 
 
@@ -29,6 +28,5 @@ interface INfcAdapterExtras {
     Bundle transceive(in byte[] data_in);
     int getCardEmulationRoute();
     void setCardEmulationRoute(int route);
-    void registerTearDownApdus(String packageName, in ApduList apdu);
-    void unregisterTearDownApdus(String packageName);
+    void authenticate(in byte[] token);
 }
index 6001be9..e0c38b1 100644 (file)
@@ -18,7 +18,6 @@ package com.android.nfc_extras;
 
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
-import android.nfc.ApduList;
 import android.nfc.INfcAdapterExtras;
 import android.nfc.NfcAdapter;
 import android.os.RemoteException;
@@ -208,17 +207,18 @@ public final class NfcAdapterExtras {
         return sEmbeddedEe;
     }
 
-    public void registerTearDownApdus(String packageName, ApduList apdus) {
-        try {
-            sService.registerTearDownApdus(packageName, apdus);
-        } catch (RemoteException e) {
-            attemptDeadServiceRecovery(e);
-        }
-    }
-
-    public void unregisterTearDownApdus(String packageName) {
+    /**
+     * Authenticate the client application.
+     *
+     * Some implementations of NFC Adapter Extras may require applications
+     * to authenticate with a token, before using other methods.
+     *
+     * @param a implementation specific token
+     * @throws a {@link java.lang.SecurityException} if authentication failed
+     */
+    public void authenticate(byte[] token) {
         try {
-            sService.unregisterTearDownApdus(packageName);
+            sService.authenticate(token);
         } catch (RemoteException e) {
             attemptDeadServiceRecovery(e);
         }