diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java index acc575fb19731..a4a84019bae76 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java @@ -47,6 +47,7 @@ import android.util.Slog; import android.util.proto.ProtoOutputStream; import com.android.internal.R; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.FrameworkStatsLog; import com.android.server.biometrics.SensorServiceStateProto; import com.android.server.biometrics.SensorStateProto; @@ -397,7 +398,8 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider }); } - private synchronized IBiometricsFingerprint getDaemon() { + @VisibleForTesting + synchronized IBiometricsFingerprint getDaemon() { if (mTestHalEnabled) { final TestHal testHal = new TestHal(); testHal.setNotify(mHalResultController); diff --git a/services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21Test.java b/services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21Test.java index 61cc8e6e8ea30..904ade82a51f9 100644 --- a/services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21Test.java +++ b/services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21Test.java @@ -19,17 +19,20 @@ package com.android.server.biometrics.sensors.fingerprint.hidl; import static junit.framework.Assert.assertEquals; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; import android.content.res.Resources; import android.hardware.biometrics.BiometricManager; +import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint; import android.os.Handler; import android.os.Looper; import android.os.UserManager; import android.platform.test.annotations.Presubmit; +import androidx.annotation.NonNull; import androidx.test.InstrumentationRegistry; import androidx.test.filters.SmallTest; @@ -80,7 +83,7 @@ public class Fingerprint21Test { .thenReturn(5); mLockoutResetDispatcher = new LockoutResetDispatcher(mContext); - mFingerprint21 = new Fingerprint21(mContext, mScheduler, + mFingerprint21 = new TestableFingerprint21(mContext, mScheduler, new Handler(Looper.getMainLooper()), SENSOR_ID, BiometricManager.Authenticators.BIOMETRIC_WEAK, mLockoutResetDispatcher, mHalResultController); @@ -100,4 +103,21 @@ public class Fingerprint21Test { waitForIdle(); verify(mScheduler).reset(); } + + private static class TestableFingerprint21 extends Fingerprint21 { + + TestableFingerprint21(@NonNull Context context, + @NonNull BiometricScheduler scheduler, + @NonNull Handler handler, int sensorId, int strength, + @NonNull LockoutResetDispatcher lockoutResetDispatcher, + @NonNull HalResultController controller) { + super(context, scheduler, handler, sensorId, strength, lockoutResetDispatcher, + controller); + } + + @Override + synchronized IBiometricsFingerprint getDaemon() { + return mock(IBiometricsFingerprint.class); + } + } }