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

Commit f26c4dba authored by Joshua Mccloskey's avatar Joshua Mccloskey Committed by Automerger Merge Worker
Browse files

Merge "Added lockout callback to FaceAuthenticationClient" into sc-v2-dev am: c2993b24

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16087045

Change-Id: I69026bec8185d59736070b8fc71cffc8359eef3a
parents 2ab81686 c2993b24
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -360,6 +360,43 @@ public abstract class AuthenticationClient<T> extends AcquisitionClient<T>
        }
    }

    /**
     * Only call this method on interfaces where lockout does not come from onError, I.E. the
     * old HIDL implementation.
     */
    protected void onLockoutTimed(long durationMillis) {
        final ClientMonitorCallbackConverter listener = getListener();
        final CoexCoordinator coordinator = CoexCoordinator.getInstance();
        coordinator.onAuthenticationError(this, BiometricConstants.BIOMETRIC_ERROR_LOCKOUT,
                new CoexCoordinator.ErrorCallback() {
            @Override
            public void sendHapticFeedback() {
                if (listener != null && mShouldVibrate) {
                    vibrateError();
                }
            }
        });
    }

    /**
     * Only call this method on interfaces where lockout does not come from onError, I.E. the
     * old HIDL implementation.
     */
    protected void onLockoutPermanent() {
        final ClientMonitorCallbackConverter listener = getListener();
        final CoexCoordinator coordinator = CoexCoordinator.getInstance();
        coordinator.onAuthenticationError(this,
                BiometricConstants.BIOMETRIC_ERROR_LOCKOUT_PERMANENT,
                new CoexCoordinator.ErrorCallback() {
            @Override
            public void sendHapticFeedback() {
                if (listener != null && mShouldVibrate) {
                    vibrateError();
                }
            }
        });
    }

    private void sendCancelOnly(@Nullable ClientMonitorCallbackConverter listener) {
        if (listener == null) {
            Slog.e(TAG, "Unable to sendAuthenticationCanceled, listener null");
+2 −0
Original line number Diff line number Diff line
@@ -225,6 +225,7 @@ class FaceAuthenticationClient extends AuthenticationClient<ISession> implements

    @Override
    public void onLockoutTimed(long durationMillis) {
        super.onLockoutTimed(durationMillis);
        mLockoutCache.setLockoutModeForUser(getTargetUserId(), LockoutTracker.LOCKOUT_TIMED);
        // Lockout metrics are logged as an error code.
        final int error = BiometricFaceConstants.FACE_ERROR_LOCKOUT;
@@ -239,6 +240,7 @@ class FaceAuthenticationClient extends AuthenticationClient<ISession> implements

    @Override
    public void onLockoutPermanent() {
        super.onLockoutPermanent();
        mLockoutCache.setLockoutModeForUser(getTargetUserId(), LockoutTracker.LOCKOUT_PERMANENT);
        // Lockout metrics are logged as an error code.
        final int error = BiometricFaceConstants.FACE_ERROR_LOCKOUT_PERMANENT;