Merge "Remove haptic feedback from face detect operations." into udc-dev

This commit is contained in:
Treehugger Robot
2023-05-18 18:55:07 +00:00
committed by Android (Google) Code Review
3 changed files with 17 additions and 12 deletions

View File

@@ -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 @Override
public boolean isInterruptable() { public boolean isInterruptable() {
return true; return true;

View File

@@ -72,7 +72,7 @@ public class FaceDetectClient extends AcquisitionClient<AidlSession> implements
boolean isStrongBiometric, SensorPrivacyManager sensorPrivacyManager) { boolean isStrongBiometric, SensorPrivacyManager sensorPrivacyManager) {
super(context, lazyDaemon, token, listener, options.getUserId(), super(context, lazyDaemon, token, listener, options.getUserId(),
options.getOpPackageName(), 0 /* cookie */, options.getSensorId(), options.getOpPackageName(), 0 /* cookie */, options.getSensorId(),
true /* shouldVibrate */, logger, biometricContext); false /* shouldVibrate */, logger, biometricContext);
setRequestId(requestId); setRequestId(requestId);
mIsStrongBiometric = isStrongBiometric; mIsStrongBiometric = isStrongBiometric;
mSensorPrivacyManager = sensorPrivacyManager; mSensorPrivacyManager = sensorPrivacyManager;

View File

@@ -24,6 +24,7 @@ import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.never; import static org.mockito.Mockito.never;
import static org.mockito.Mockito.same; import static org.mockito.Mockito.same;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.hardware.biometrics.common.AuthenticateReason; import android.hardware.biometrics.common.AuthenticateReason;
@@ -34,6 +35,7 @@ import android.hardware.face.FaceAuthenticateOptions;
import android.os.IBinder; import android.os.IBinder;
import android.os.PowerManager; import android.os.PowerManager;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.Vibrator;
import android.platform.test.annotations.Presubmit; import android.platform.test.annotations.Presubmit;
import android.testing.TestableContext; import android.testing.TestableContext;
@@ -75,6 +77,8 @@ public class FaceDetectClientTest {
@Mock @Mock
private IBinder mToken; private IBinder mToken;
@Mock @Mock
private Vibrator mVibrator;
@Mock
private ClientMonitorCallbackConverter mClientMonitorCallbackConverter; private ClientMonitorCallbackConverter mClientMonitorCallbackConverter;
@Mock @Mock
private BiometricLogger mBiometricLogger; private BiometricLogger mBiometricLogger;
@@ -94,6 +98,8 @@ public class FaceDetectClientTest {
@Before @Before
public void setup() { public void setup() {
mContext.addMockSystemService(Vibrator.class, mVibrator);
when(mBiometricContext.updateContext(any(), anyBoolean())).thenAnswer( when(mBiometricContext.updateContext(any(), anyBoolean())).thenAnswer(
i -> i.getArgument(0)); i -> i.getArgument(0));
} }
@@ -147,6 +153,16 @@ public class FaceDetectClientTest {
verify(mBiometricContext).unsubscribe(same(mOperationContextCaptor.getValue())); 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 { private FaceDetectClient createClient() throws RemoteException {
return createClient(100 /* version */); return createClient(100 /* version */);
} }