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

Commit 44ec706e authored by Diya Bera's avatar Diya Bera Committed by Android (Google) Code Review
Browse files

Merge "Update setIgnoreDisplayTouches when context is updated" into main

parents a344523d 33fb2017
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.hardware.biometrics.BiometricFingerprintConstants.FingerprintAcqu
import android.hardware.biometrics.BiometricManager.Authenticators;
import android.hardware.biometrics.BiometricSourceType;
import android.hardware.biometrics.common.ICancellationSignal;
import android.hardware.biometrics.common.OperationState;
import android.hardware.biometrics.events.AuthenticationAcquiredInfo;
import android.hardware.biometrics.events.AuthenticationErrorInfo;
import android.hardware.biometrics.events.AuthenticationFailedInfo;
@@ -344,6 +345,12 @@ public class FingerprintAuthenticationClient
            if (session.hasContextMethods()) {
                try {
                    session.getSession().onContextChanged(ctx);
                    // TODO(b/317414324): Deprecate setIgnoreDisplayTouches
                    if (ctx.operationState != null && ctx.operationState.getTag()
                            == OperationState.fingerprintOperationState) {
                        session.getSession().setIgnoreDisplayTouches(ctx.operationState
                                .getFingerprintOperationState().isHardwareIgnoringTouches);
                    }
                } catch (RemoteException e) {
                    Slog.e(TAG, "Unable to notify context changed", e);
                }
+10 −5
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ import android.hardware.biometrics.BiometricRequestConstants;
import android.hardware.biometrics.BiometricSourceType;
import android.hardware.biometrics.common.ICancellationSignal;
import android.hardware.biometrics.common.OperationContext;
import android.hardware.biometrics.common.OperationState;
import android.hardware.biometrics.events.AuthenticationAcquiredInfo;
import android.hardware.biometrics.events.AuthenticationErrorInfo;
import android.hardware.biometrics.events.AuthenticationFailedInfo;
@@ -391,8 +392,8 @@ public class FingerprintAuthenticationClientTest {
        verify(mBiometricContext).subscribe(mOperationContextCaptor.capture(),
                mStartHalConsumerCaptor.capture(), mContextInjector.capture(), any());

        mStartHalConsumerCaptor.getValue().accept(mOperationContextCaptor
                .getValue().toAidlContext());
        final OperationContextExt operationContext = mOperationContextCaptor.getValue();
        mStartHalConsumerCaptor.getValue().accept(operationContext.toAidlContext());
        final ArgumentCaptor<OperationContext> captor =
                ArgumentCaptor.forClass(OperationContext.class);

@@ -400,16 +401,20 @@ public class FingerprintAuthenticationClientTest {

        OperationContext opContext = captor.getValue();

        assertThat(opContext).isSameInstanceAs(
                mOperationContextCaptor.getValue().toAidlContext());
        assertThat(opContext).isSameInstanceAs(operationContext.toAidlContext());

        opContext.operationState = new OperationState();
        opContext.operationState.setFingerprintOperationState(
                new OperationState.FingerprintOperationState());
        mContextInjector.getValue().accept(opContext);

        verify(mHal).onContextChanged(same(opContext));
        verify(mHal, times(2)).setIgnoreDisplayTouches(
                opContext.operationState.getFingerprintOperationState().isHardwareIgnoringTouches);

        client.stopHalOperation();

        verify(mBiometricContext).unsubscribe(same(mOperationContextCaptor.getValue()));
        verify(mBiometricContext).unsubscribe(same(operationContext));
    }

    @Test