Loading services/core/java/com/android/server/biometrics/sensors/SensorOverlays.java +7 −0 Original line number Diff line number Diff line Loading @@ -149,6 +149,13 @@ public final class SensorOverlays { } } /** * Returns if the sensor is side fps. */ public boolean isSfps() { return mSidefpsController.isPresent(); } /** * Consumer for a biometric overlay controller. * Loading services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintAuthenticationClient.java +8 −2 Original line number Diff line number Diff line Loading @@ -236,8 +236,14 @@ class FingerprintAuthenticationClient extends AuthenticationClient<AidlSession> @Override public void onError(int errorCode, int vendorCode) { if (errorCode == BiometricFingerprintConstants.FINGERPRINT_ERROR_VENDOR && vendorCode == BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED && mSensorOverlays.isSfps()) { super.onError(BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED, 0 /* vendorCode */); } else { super.onError(errorCode, vendorCode); } if (errorCode == BiometricFingerprintConstants.FINGERPRINT_ERROR_BAD_CALIBRATION) { BiometricNotificationUtils.showBadCalibrationNotification(getContext()); } Loading services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintEnrollClient.java +9 −5 Original line number Diff line number Diff line Loading @@ -146,8 +146,15 @@ class FingerprintEnrollClient extends EnrollClient<AidlSession> implements Udfps } }); mCallback.onBiometricAction(BiometricStateListener.ACTION_SENSOR_TOUCH); if (acquiredInfo == BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_VENDOR && vendorCode == BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED && mSensorOverlays.isSfps()) { super.onAcquired(BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_POWER_PRESSED, 0 /* vendorCode */); } else { super.onAcquired(acquiredInfo, vendorCode); } } @Override public void onError(int errorCode, int vendorCode) { Loading Loading @@ -274,8 +281,5 @@ class FingerprintEnrollClient extends EnrollClient<AidlSession> implements Udfps } @Override public void onPowerPressed() { onAcquired(BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_POWER_PRESSED, 0 /* vendorCode */); } public void onPowerPressed() { } } services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintAuthenticationClientTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import static org.mockito.Mockito.when; import android.app.ActivityManager; import android.app.ActivityTaskManager; import android.content.ComponentName; import android.hardware.biometrics.BiometricFingerprintConstants; import android.hardware.biometrics.BiometricManager; import android.hardware.biometrics.common.ICancellationSignal; import android.hardware.biometrics.common.OperationContext; Loading Loading @@ -364,6 +365,16 @@ public class FingerprintAuthenticationClientTest { showHideOverlay(c -> c.onLockoutPermanent()); } @Test public void testPowerPressForwardsErrorMessage() throws RemoteException { final FingerprintAuthenticationClient client = createClient(); client.onError(BiometricFingerprintConstants.FINGERPRINT_ERROR_VENDOR, BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED); verify(mClientMonitorCallbackConverter).onError(anyInt(), anyInt(), eq(BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED), eq(0)); } private void showHideOverlay(Consumer<FingerprintAuthenticationClient> block) throws RemoteException { final FingerprintAuthenticationClient client = createClient(); Loading services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintEnrollClientTest.java +5 −5 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.server.biometrics.sensors.fingerprint.aidl; import static android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_POWER_PRESSED; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyFloat; import static org.mockito.ArgumentMatchers.anyInt; Loading @@ -29,6 +27,7 @@ import static org.mockito.Mockito.same; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.hardware.biometrics.BiometricFingerprintConstants; import android.hardware.biometrics.common.OperationContext; import android.hardware.biometrics.fingerprint.ISession; import android.hardware.biometrics.fingerprint.PointerContext; Loading Loading @@ -276,11 +275,12 @@ public class FingerprintEnrollClientTest { @Test public void testPowerPressForwardsAcquireMessage() throws RemoteException { final FingerprintEnrollClient client = createClient(); client.start(mCallback); client.onPowerPressed(); client.onAcquired(BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_VENDOR, BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED); verify(mClientMonitorCallbackConverter).onAcquired(anyInt(), eq(FINGERPRINT_ACQUIRED_POWER_PRESSED), anyInt()); eq(BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_POWER_PRESSED), eq(0)); } private void showHideOverlay(Consumer<FingerprintEnrollClient> block) Loading Loading
services/core/java/com/android/server/biometrics/sensors/SensorOverlays.java +7 −0 Original line number Diff line number Diff line Loading @@ -149,6 +149,13 @@ public final class SensorOverlays { } } /** * Returns if the sensor is side fps. */ public boolean isSfps() { return mSidefpsController.isPresent(); } /** * Consumer for a biometric overlay controller. * Loading
services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintAuthenticationClient.java +8 −2 Original line number Diff line number Diff line Loading @@ -236,8 +236,14 @@ class FingerprintAuthenticationClient extends AuthenticationClient<AidlSession> @Override public void onError(int errorCode, int vendorCode) { if (errorCode == BiometricFingerprintConstants.FINGERPRINT_ERROR_VENDOR && vendorCode == BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED && mSensorOverlays.isSfps()) { super.onError(BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED, 0 /* vendorCode */); } else { super.onError(errorCode, vendorCode); } if (errorCode == BiometricFingerprintConstants.FINGERPRINT_ERROR_BAD_CALIBRATION) { BiometricNotificationUtils.showBadCalibrationNotification(getContext()); } Loading
services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintEnrollClient.java +9 −5 Original line number Diff line number Diff line Loading @@ -146,8 +146,15 @@ class FingerprintEnrollClient extends EnrollClient<AidlSession> implements Udfps } }); mCallback.onBiometricAction(BiometricStateListener.ACTION_SENSOR_TOUCH); if (acquiredInfo == BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_VENDOR && vendorCode == BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED && mSensorOverlays.isSfps()) { super.onAcquired(BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_POWER_PRESSED, 0 /* vendorCode */); } else { super.onAcquired(acquiredInfo, vendorCode); } } @Override public void onError(int errorCode, int vendorCode) { Loading Loading @@ -274,8 +281,5 @@ class FingerprintEnrollClient extends EnrollClient<AidlSession> implements Udfps } @Override public void onPowerPressed() { onAcquired(BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_POWER_PRESSED, 0 /* vendorCode */); } public void onPowerPressed() { } }
services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintAuthenticationClientTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import static org.mockito.Mockito.when; import android.app.ActivityManager; import android.app.ActivityTaskManager; import android.content.ComponentName; import android.hardware.biometrics.BiometricFingerprintConstants; import android.hardware.biometrics.BiometricManager; import android.hardware.biometrics.common.ICancellationSignal; import android.hardware.biometrics.common.OperationContext; Loading Loading @@ -364,6 +365,16 @@ public class FingerprintAuthenticationClientTest { showHideOverlay(c -> c.onLockoutPermanent()); } @Test public void testPowerPressForwardsErrorMessage() throws RemoteException { final FingerprintAuthenticationClient client = createClient(); client.onError(BiometricFingerprintConstants.FINGERPRINT_ERROR_VENDOR, BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED); verify(mClientMonitorCallbackConverter).onError(anyInt(), anyInt(), eq(BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED), eq(0)); } private void showHideOverlay(Consumer<FingerprintAuthenticationClient> block) throws RemoteException { final FingerprintAuthenticationClient client = createClient(); Loading
services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintEnrollClientTest.java +5 −5 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.server.biometrics.sensors.fingerprint.aidl; import static android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_POWER_PRESSED; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyFloat; import static org.mockito.ArgumentMatchers.anyInt; Loading @@ -29,6 +27,7 @@ import static org.mockito.Mockito.same; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.hardware.biometrics.BiometricFingerprintConstants; import android.hardware.biometrics.common.OperationContext; import android.hardware.biometrics.fingerprint.ISession; import android.hardware.biometrics.fingerprint.PointerContext; Loading Loading @@ -276,11 +275,12 @@ public class FingerprintEnrollClientTest { @Test public void testPowerPressForwardsAcquireMessage() throws RemoteException { final FingerprintEnrollClient client = createClient(); client.start(mCallback); client.onPowerPressed(); client.onAcquired(BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_VENDOR, BiometricFingerprintConstants.BIOMETRIC_ERROR_POWER_PRESSED); verify(mClientMonitorCallbackConverter).onAcquired(anyInt(), eq(FINGERPRINT_ACQUIRED_POWER_PRESSED), anyInt()); eq(BiometricFingerprintConstants.FINGERPRINT_ACQUIRED_POWER_PRESSED), eq(0)); } private void showHideOverlay(Consumer<FingerprintEnrollClient> block) Loading