Loading services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java +3 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21Test.java +21 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading @@ -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); } } } Loading
services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java +3 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading
services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21Test.java +21 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading @@ -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); } } }