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

Commit be5eaef2 authored by Joe Bolinger's avatar Joe Bolinger
Browse files

Remove haptic feedback from face detect operations.

Also removes some unused / dead haptic code.

Fix: 263762558
Test: atest FaceDetectClientTest
Test: manual (setup with face/fp, set lockscreen bypass for face, lockout device, press power button to attempt login, look at phone to trigger bouncer, confirm Face detect operation has visual but not haptic feedback)
Change-Id: I943aae5da6e50f91bd0b91cc01f895c9732e26d5
parent e61670d5
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -206,17 +206,6 @@ public abstract class AcquisitionClient<T> extends HalClientMonitor<T> implement
        }
    }

    protected final void vibrateError() {
        Vibrator vibrator = getContext().getSystemService(Vibrator.class);
        if (vibrator != null && mShouldVibrate) {
            vibrator.vibrate(Process.myUid(),
                    getContext().getOpPackageName(),
                    ERROR_VIBRATION_EFFECT,
                    getClass().getSimpleName() + "::error",
                    HARDWARE_FEEDBACK_VIBRATION_ATTRIBUTES);
        }
    }

    @Override
    public boolean isInterruptable() {
        return true;
+1 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ public class FaceDetectClient extends AcquisitionClient<AidlSession> implements
            boolean isStrongBiometric, SensorPrivacyManager sensorPrivacyManager) {
        super(context, lazyDaemon, token, listener, options.getUserId(),
                options.getOpPackageName(), 0 /* cookie */, options.getSensorId(),
                true /* shouldVibrate */, logger, biometricContext);
                false /* shouldVibrate */, logger, biometricContext);
        setRequestId(requestId);
        mIsStrongBiometric = isStrongBiometric;
        mSensorPrivacyManager = sensorPrivacyManager;
+16 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.same;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;

import android.hardware.biometrics.common.AuthenticateReason;
@@ -34,6 +35,7 @@ import android.hardware.face.FaceAuthenticateOptions;
import android.os.IBinder;
import android.os.PowerManager;
import android.os.RemoteException;
import android.os.Vibrator;
import android.platform.test.annotations.Presubmit;
import android.testing.TestableContext;

@@ -75,6 +77,8 @@ public class FaceDetectClientTest {
    @Mock
    private IBinder mToken;
    @Mock
    private Vibrator mVibrator;
    @Mock
    private ClientMonitorCallbackConverter mClientMonitorCallbackConverter;
    @Mock
    private BiometricLogger mBiometricLogger;
@@ -94,6 +98,8 @@ public class FaceDetectClientTest {

    @Before
    public void setup() {
        mContext.addMockSystemService(Vibrator.class, mVibrator);

        when(mBiometricContext.updateContext(any(), anyBoolean())).thenAnswer(
                i -> i.getArgument(0));
    }
@@ -147,6 +153,16 @@ public class FaceDetectClientTest {
        verify(mBiometricContext).unsubscribe(same(mOperationContextCaptor.getValue()));
    }

    @Test
    public void doesNotPlayHapticOnInteractionDetected() throws Exception {
        final FaceDetectClient client = createClient();
        client.start(mCallback);
        client.onInteractionDetected();
        client.stopHalOperation();

        verifyZeroInteractions(mVibrator);
    }

    private FaceDetectClient createClient() throws RemoteException {
        return createClient(100 /* version */);
    }