Handle errors during resetLockout

IFace and IFingerprint HAL interfaces allow errors during resetLockout.
This change updates the framework to finish the client and allow
the scheduler to continue with the next operation.

Fixes: 184774513
Test: Builds
Change-Id: I31ca51f0487f35e613f750b918e22eb1b3fd10f1
This commit is contained in:
Kevin Chyn
2021-04-07 18:17:34 -07:00
parent 6ef340b2ef
commit 1ee573208c
2 changed files with 16 additions and 2 deletions

View File

@@ -27,6 +27,7 @@ import android.util.Slog;
import com.android.server.biometrics.BiometricsProto;
import com.android.server.biometrics.HardwareAuthTokenUtils;
import com.android.server.biometrics.sensors.ErrorConsumer;
import com.android.server.biometrics.sensors.HalClientMonitor;
import com.android.server.biometrics.sensors.LockoutCache;
import com.android.server.biometrics.sensors.LockoutResetDispatcher;
@@ -37,7 +38,7 @@ import com.android.server.biometrics.sensors.LockoutTracker;
* Updates the framework's lockout cache and notifies clients such as Keyguard when lockout is
* cleared.
*/
public class FaceResetLockoutClient extends HalClientMonitor<ISession> {
public class FaceResetLockoutClient extends HalClientMonitor<ISession> implements ErrorConsumer {
private static final String TAG = "FaceResetLockoutClient";
@@ -88,4 +89,10 @@ public class FaceResetLockoutClient extends HalClientMonitor<ISession> {
public int getProtoEnum() {
return BiometricsProto.CM_RESET_LOCKOUT;
}
@Override
public void onError(int errorCode, int vendorCode) {
Slog.e(TAG, "Error during resetLockout: " + errorCode);
mCallback.onClientFinished(this, false /* success */);
}
}

View File

@@ -27,6 +27,7 @@ import android.util.Slog;
import com.android.server.biometrics.BiometricsProto;
import com.android.server.biometrics.HardwareAuthTokenUtils;
import com.android.server.biometrics.sensors.ErrorConsumer;
import com.android.server.biometrics.sensors.HalClientMonitor;
import com.android.server.biometrics.sensors.LockoutCache;
import com.android.server.biometrics.sensors.LockoutResetDispatcher;
@@ -37,7 +38,7 @@ import com.android.server.biometrics.sensors.LockoutTracker;
* Updates the framework's lockout cache and notifies clients such as Keyguard when lockout is
* cleared.
*/
class FingerprintResetLockoutClient extends HalClientMonitor<ISession> {
class FingerprintResetLockoutClient extends HalClientMonitor<ISession> implements ErrorConsumer {
private static final String TAG = "FingerprintResetLockoutClient";
@@ -88,4 +89,10 @@ class FingerprintResetLockoutClient extends HalClientMonitor<ISession> {
public int getProtoEnum() {
return BiometricsProto.CM_RESET_LOCKOUT;
}
@Override
public void onError(int errorCode, int vendorCode) {
Slog.e(TAG, "Error during resetLockout: " + errorCode);
mCallback.onClientFinished(this, false /* success */);
}
}