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;
|
package android.nfc;
|
||||||
|
|
||||||
import android.nfc.ApduList;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
|
||||||
@@ -29,6 +28,5 @@ interface INfcAdapterExtras {
|
|||||||
Bundle transceive(in byte[] data_in);
|
Bundle transceive(in byte[] data_in);
|
||||||
int getCardEmulationRoute();
|
int getCardEmulationRoute();
|
||||||
void setCardEmulationRoute(int route);
|
void setCardEmulationRoute(int route);
|
||||||
void registerTearDownApdus(String packageName, in ApduList apdu);
|
void authenticate(in byte[] token);
|
||||||
void unregisterTearDownApdus(String packageName);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ package com.android.nfc_extras;
|
|||||||
|
|
||||||
import android.annotation.SdkConstant;
|
import android.annotation.SdkConstant;
|
||||||
import android.annotation.SdkConstant.SdkConstantType;
|
import android.annotation.SdkConstant.SdkConstantType;
|
||||||
import android.nfc.ApduList;
|
|
||||||
import android.nfc.INfcAdapterExtras;
|
import android.nfc.INfcAdapterExtras;
|
||||||
import android.nfc.NfcAdapter;
|
import android.nfc.NfcAdapter;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
@@ -208,17 +207,18 @@ public final class NfcAdapterExtras {
|
|||||||
return sEmbeddedEe;
|
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 {
|
try {
|
||||||
sService.registerTearDownApdus(packageName, apdus);
|
sService.authenticate(token);
|
||||||
} catch (RemoteException e) {
|
|
||||||
attemptDeadServiceRecovery(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void unregisterTearDownApdus(String packageName) {
|
|
||||||
try {
|
|
||||||
sService.unregisterTearDownApdus(packageName);
|
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
attemptDeadServiceRecovery(e);
|
attemptDeadServiceRecovery(e);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user