Merge "Add a system api to reset secure element"
This commit is contained in:
@@ -7092,6 +7092,14 @@ package android.provider {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
package android.se.omapi {
|
||||||
|
|
||||||
|
public final class Reader {
|
||||||
|
method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED) public boolean reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
package android.security.keystore {
|
package android.security.keystore {
|
||||||
|
|
||||||
public abstract class AttestationUtils {
|
public abstract class AttestationUtils {
|
||||||
|
|||||||
@@ -48,4 +48,10 @@ interface ISecureElementReader {
|
|||||||
*/
|
*/
|
||||||
void closeSessions();
|
void closeSessions();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Closes all the sessions opened on this reader and resets the reader.
|
||||||
|
* All the channels opened by all these sessions will be closed.
|
||||||
|
* @return true if the reset is successful, false otherwise.
|
||||||
|
*/
|
||||||
|
boolean reset();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
package android.se.omapi;
|
package android.se.omapi;
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
|
import android.annotation.RequiresPermission;
|
||||||
|
import android.annotation.SystemApi;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.os.ServiceSpecificException;
|
import android.os.ServiceSpecificException;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -150,4 +152,25 @@ public final class Reader {
|
|||||||
} catch (RemoteException ignore) { }
|
} catch (RemoteException ignore) { }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Close all the sessions opened on this reader and reset the reader.
|
||||||
|
* All the channels opened by all these sessions will be closed.
|
||||||
|
* @return <code>true</code> if reset success, <code>false</code> otherwise.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED)
|
||||||
|
public boolean reset() {
|
||||||
|
if (!mService.isConnected()) {
|
||||||
|
Log.e(TAG, "service is not connected");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
synchronized (mLock) {
|
||||||
|
try {
|
||||||
|
closeSessions();
|
||||||
|
return mReader.reset();
|
||||||
|
} catch (RemoteException ignore) {return false;}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user