Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ee57320 authored by Kevin Chyn's avatar Kevin Chyn
Browse files

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
parent 6ef340b2
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -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 */);
    }
}
+8 −1
Original line number Diff line number Diff line
@@ -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 */);
    }
}