NFC Adapter Extras API update.
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
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
/**
|
||||
* 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.registerTearDownApdus(packageName, apdus);
|
||||
} catch (RemoteException e) {
|
||||
attemptDeadServiceRecovery(e);
|
||||
}
|
||||
}
|
||||
|
||||
public void unregisterTearDownApdus(String packageName) {
|
||||
try {
|
||||
sService.unregisterTearDownApdus(packageName);
|
||||
sService.authenticate(token);
|
||||
} catch (RemoteException e) {
|
||||
attemptDeadServiceRecovery(e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user