diff options
3 files changed, 19 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AlternateUdfpsTouchProvider.kt b/packages/SystemUI/src/com/android/systemui/biometrics/AlternateUdfpsTouchProvider.kt index f4f39a1df11b..ca4b8efa98a5 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/AlternateUdfpsTouchProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/AlternateUdfpsTouchProvider.kt @@ -22,6 +22,8 @@ package com.android.systemui.biometrics interface AlternateUdfpsTouchProvider { /** + * onPointerDown: + * * This operation is used to notify the Fingerprint HAL that * a fingerprint has been detected on the device's screen. * @@ -39,4 +41,14 @@ interface AlternateUdfpsTouchProvider { * See fingerprint/ISession#onPointerUp for more details. */ fun onPointerUp(pointerId: Long) + + /** + * onUiReady: + * + * This operation is used by the callee to notify the Fingerprint HAL that SystemUI is + * correctly configured for the fingerprint capture. + * + * See fingerprint/ISession#onUiReady for more details. + */ + fun onUiReady() } diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java index 463db5c92554..432d2930453c 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java @@ -813,7 +813,11 @@ public class UdfpsController implements DozeReceiver { final UdfpsView view = mOverlay.getOverlayView(); if (view != null) { view.startIllumination(() -> { - mFingerprintManager.onUiReady(requestId, mSensorId); + if (mAlternateTouchProvider != null) { + mAlternateTouchProvider.onUiReady(); + } else { + mFingerprintManager.onUiReady(requestId, mSensorId); + } mLatencyTracker.onActionEnd(LatencyTracker.ACTION_UDFPS_ILLUMINATE); }); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java index da5939ae4a12..87d3cd0cf0a0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java @@ -594,9 +594,8 @@ public class UdfpsControllerTest extends SysuiTestCase { verify(mLatencyTracker, never()).onActionEnd(eq(LatencyTracker.ACTION_UDFPS_ILLUMINATE)); // AND onIlluminatedRunnable notifies FingerprintManager about onUiReady mOnIlluminatedRunnableCaptor.getValue().run(); - InOrder inOrder = inOrder(mFingerprintManager, mLatencyTracker); - inOrder.verify(mFingerprintManager).onUiReady( - eq(TEST_REQUEST_ID), eq(mUdfpsController.mSensorId)); + InOrder inOrder = inOrder(mAlternateTouchProvider, mLatencyTracker); + inOrder.verify(mAlternateTouchProvider).onUiReady(); inOrder.verify(mLatencyTracker).onActionEnd(eq(LatencyTracker.ACTION_UDFPS_ILLUMINATE)); } |