Loading core/java/android/hardware/fingerprint/FingerprintManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -700,7 +700,7 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing /** * Set whether the HAL should ignore display touches. * Only applies to sensors where the HAL is reponsible for handling touches. * Only applies to sensors where the HAL is responsible for handling touches. * @hide */ @RequiresPermission(USE_BIOMETRIC_INTERNAL) Loading services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +2 −12 Original line number Diff line number Diff line Loading @@ -792,7 +792,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi @Override public void setIgnoreDisplayTouches(long requestId, int sensorId, boolean ignoreTouches) { if (Flags.setIgnoreSpeedUp()) { mHandler.post(() -> { try { mFingerprintSensors.get( sensorId).getLazySession().get().getSession().setIgnoreDisplayTouches( Loading @@ -801,18 +801,8 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi } catch (Exception e) { Slog.w(getTag(), "setIgnore failed", e); } } else { mFingerprintSensors.get(sensorId).getScheduler().getCurrentClientIfMatches( requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.e(getTag(), "setIgnoreDisplayTouches received during client: " + client); return; } ((Udfps) client).setIgnoreDisplayTouches(ignoreTouches); }); } } @Override public void onPowerPressed() { Loading services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProviderTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,7 @@ import org.junit.Rule; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import java.util.ArrayList; Loading Loading @@ -110,6 +111,8 @@ public class FingerprintProviderTest { @Mock private Handler mBiometricCallbackHandler; @Mock private Handler mFingerprintHandler; @Mock private AuthSessionCoordinator mAuthSessionCoordinator; @Mock private BiometricScheduler<IFingerprint, ISession> mScheduler; Loading Loading @@ -290,6 +293,26 @@ public class FingerprintProviderTest { anyBoolean()); } @Test public void testSetIgnoreDisplayTouches() { waitForIdle(); when(mBiometricHandlerProvider.getFingerprintHandler()).thenReturn(mFingerprintHandler); mFingerprintProvider = new FingerprintProvider(mContext, mBiometricStateCallback, mAuthenticationStateListeners, mSensorProps, TAG, mLockoutResetDispatcher, mGestureAvailabilityDispatcher, mBiometricContext, mDaemon, mBiometricHandlerProvider, false /* resetLockoutRequiresHardwareAuthToken */, true /* testHalEnabled */); waitForIdle(); Mockito.reset(mFingerprintHandler); mFingerprintProvider.setIgnoreDisplayTouches(0L /* requestId */, 0 /* sensorId */, true /* ignoreTouches */); // Verify that the handler is being called for setIgnoreDisplayTouches verify(mFingerprintHandler).sendMessageDelayed(any(), anyLong()); } private void waitForIdle() { mLooper.dispatchAll(); } Loading Loading
core/java/android/hardware/fingerprint/FingerprintManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -700,7 +700,7 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing /** * Set whether the HAL should ignore display touches. * Only applies to sensors where the HAL is reponsible for handling touches. * Only applies to sensors where the HAL is responsible for handling touches. * @hide */ @RequiresPermission(USE_BIOMETRIC_INTERNAL) Loading
services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +2 −12 Original line number Diff line number Diff line Loading @@ -792,7 +792,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi @Override public void setIgnoreDisplayTouches(long requestId, int sensorId, boolean ignoreTouches) { if (Flags.setIgnoreSpeedUp()) { mHandler.post(() -> { try { mFingerprintSensors.get( sensorId).getLazySession().get().getSession().setIgnoreDisplayTouches( Loading @@ -801,18 +801,8 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi } catch (Exception e) { Slog.w(getTag(), "setIgnore failed", e); } } else { mFingerprintSensors.get(sensorId).getScheduler().getCurrentClientIfMatches( requestId, (client) -> { if (!(client instanceof Udfps)) { Slog.e(getTag(), "setIgnoreDisplayTouches received during client: " + client); return; } ((Udfps) client).setIgnoreDisplayTouches(ignoreTouches); }); } } @Override public void onPowerPressed() { Loading
services/tests/servicestests/src/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProviderTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,7 @@ import org.junit.Rule; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import java.util.ArrayList; Loading Loading @@ -110,6 +111,8 @@ public class FingerprintProviderTest { @Mock private Handler mBiometricCallbackHandler; @Mock private Handler mFingerprintHandler; @Mock private AuthSessionCoordinator mAuthSessionCoordinator; @Mock private BiometricScheduler<IFingerprint, ISession> mScheduler; Loading Loading @@ -290,6 +293,26 @@ public class FingerprintProviderTest { anyBoolean()); } @Test public void testSetIgnoreDisplayTouches() { waitForIdle(); when(mBiometricHandlerProvider.getFingerprintHandler()).thenReturn(mFingerprintHandler); mFingerprintProvider = new FingerprintProvider(mContext, mBiometricStateCallback, mAuthenticationStateListeners, mSensorProps, TAG, mLockoutResetDispatcher, mGestureAvailabilityDispatcher, mBiometricContext, mDaemon, mBiometricHandlerProvider, false /* resetLockoutRequiresHardwareAuthToken */, true /* testHalEnabled */); waitForIdle(); Mockito.reset(mFingerprintHandler); mFingerprintProvider.setIgnoreDisplayTouches(0L /* requestId */, 0 /* sensorId */, true /* ignoreTouches */); // Verify that the handler is being called for setIgnoreDisplayTouches verify(mFingerprintHandler).sendMessageDelayed(any(), anyLong()); } private void waitForIdle() { mLooper.dispatchAll(); } Loading