diff options
15 files changed, 100 insertions, 38 deletions
diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java index 66b9600941ae..188a2a47fca0 100644 --- a/core/java/android/hardware/fingerprint/FingerprintManager.java +++ b/core/java/android/hardware/fingerprint/FingerprintManager.java @@ -24,6 +24,7 @@ import static android.Manifest.permission.USE_BIOMETRIC; import static android.Manifest.permission.USE_BIOMETRIC_INTERNAL; import static android.Manifest.permission.USE_FINGERPRINT; +import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresFeature; @@ -55,6 +56,8 @@ import android.security.identity.IdentityCredential; import android.util.Slog; import android.view.Surface; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.security.Signature; import java.util.ArrayList; import java.util.List; @@ -90,6 +93,22 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing private static final int MSG_UDFPS_POINTER_UP = 109; /** + * @hide + */ + public static final int ENROLL_FIND_SENSOR = 1; + /** + * @hide + */ + public static final int ENROLL_ENROLL = 2; + + /** + * @hide + */ + @IntDef({ENROLL_FIND_SENSOR, ENROLL_ENROLL}) + @Retention(RetentionPolicy.SOURCE) + public @interface EnrollReason {} + + /** * Request authentication with any single sensor. * @hide */ @@ -580,7 +599,7 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing */ @RequiresPermission(MANAGE_FINGERPRINT) public void enroll(byte [] hardwareAuthToken, CancellationSignal cancel, int userId, - EnrollmentCallback callback, boolean shouldLogMetrics) { + EnrollmentCallback callback, @EnrollReason int enrollReason) { if (userId == UserHandle.USER_CURRENT) { userId = getCurrentUserId(); } @@ -601,7 +620,7 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing try { mEnrollmentCallback = callback; mService.enroll(mToken, hardwareAuthToken, userId, mServiceReceiver, - mContext.getOpPackageName(), shouldLogMetrics); + mContext.getOpPackageName(), enrollReason); } catch (RemoteException e) { Slog.w(TAG, "Remote exception in enroll: ", e); // Though this may not be a hardware issue, it will cause apps to give up or try diff --git a/core/java/android/hardware/fingerprint/IFingerprintService.aidl b/core/java/android/hardware/fingerprint/IFingerprintService.aidl index 3657a83039ad..8888247e2823 100644 --- a/core/java/android/hardware/fingerprint/IFingerprintService.aidl +++ b/core/java/android/hardware/fingerprint/IFingerprintService.aidl @@ -78,7 +78,7 @@ interface IFingerprintService { // Start fingerprint enrollment void enroll(IBinder token, in byte [] hardwareAuthToken, int userId, IFingerprintServiceReceiver receiver, - String opPackageName, boolean shouldLogMetrics); + String opPackageName, int enrollReason); // Cancel enrollment in progress void cancelEnrollment(IBinder token); diff --git a/core/java/android/hardware/fingerprint/IUdfpsOverlayController.aidl b/core/java/android/hardware/fingerprint/IUdfpsOverlayController.aidl index c093489d4494..81c7d894ee09 100644 --- a/core/java/android/hardware/fingerprint/IUdfpsOverlayController.aidl +++ b/core/java/android/hardware/fingerprint/IUdfpsOverlayController.aidl @@ -21,10 +21,11 @@ package android.hardware.fingerprint; */ oneway interface IUdfpsOverlayController { const int REASON_UNKNOWN = 0; - const int REASON_ENROLL = 1; - const int REASON_AUTH_BP = 2; // BiometricPrompt - const int REASON_AUTH_FPM_KEYGUARD = 3; // FingerprintManager usage from Keyguard - const int REASON_AUTH_FPM_OTHER = 4; // Other FingerprintManager usage + const int REASON_ENROLL_FIND_SENSOR = 1; + const int REASON_ENROLL_ENROLLING = 2; + const int REASON_AUTH_BP = 3; // BiometricPrompt + const int REASON_AUTH_FPM_KEYGUARD = 4; // FingerprintManager usage from Keyguard + const int REASON_AUTH_FPM_OTHER = 5; // Other FingerprintManager usage // Shows the overlay. void showUdfpsOverlay(int sensorId, int reason); diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java index edf046864a7c..e7b08e72877d 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java @@ -96,8 +96,11 @@ public class UdfpsController implements DozeReceiver, HbmCallback { public class UdfpsOverlayController extends IUdfpsOverlayController.Stub { @Override public void showUdfpsOverlay(int sensorId, int reason) { - if (reason == IUdfpsOverlayController.REASON_ENROLL) { - mEnrollHelper = new UdfpsEnrollHelper(); + if (reason == IUdfpsOverlayController.REASON_ENROLL_FIND_SENSOR + || reason == IUdfpsOverlayController.REASON_ENROLL_ENROLLING) { + mEnrollHelper = new UdfpsEnrollHelper(reason); + } else { + mEnrollHelper = null; } UdfpsController.this.showOverlay(reason); } @@ -300,8 +303,7 @@ public class UdfpsController implements DozeReceiver, HbmCallback { try { Log.v(TAG, "showUdfpsOverlay | adding window"); final UdfpsAnimation animation = getUdfpsAnimationForReason(reason); - mView.setUdfpsAnimation(animation); - mView.setEnrollHelper(mEnrollHelper); + mView.setExtras(animation, mEnrollHelper); mWindowManager.addView(mView, computeLayoutParams(animation)); mView.setOnTouchListener(mOnTouchListener); mIsOverlayShowing = true; @@ -318,7 +320,8 @@ public class UdfpsController implements DozeReceiver, HbmCallback { private UdfpsAnimation getUdfpsAnimationForReason(int reason) { Log.d(TAG, "getUdfpsAnimationForReason: " + reason); switch (reason) { - case IUdfpsOverlayController.REASON_ENROLL: + case IUdfpsOverlayController.REASON_ENROLL_FIND_SENSOR: + case IUdfpsOverlayController.REASON_ENROLL_ENROLLING: return new UdfpsAnimationEnroll(mContext); case IUdfpsOverlayController.REASON_AUTH_FPM_KEYGUARD: return new UdfpsAnimationKeyguard(mView, mContext, mStatusBarStateController); @@ -334,7 +337,7 @@ public class UdfpsController implements DozeReceiver, HbmCallback { mFgExecutor.execute(() -> { if (mIsOverlayShowing) { Log.v(TAG, "hideUdfpsOverlay | removing window"); - mView.setUdfpsAnimation(null); + mView.setExtras(null, null); mView.setOnTouchListener(null); // Reset the controller back to its starting state. onFingerUp(); diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollHelper.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollHelper.java index ac6a2121eaae..2442633a4a69 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollHelper.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollHelper.java @@ -16,6 +16,8 @@ package com.android.systemui.biometrics; +import android.hardware.fingerprint.IUdfpsOverlayController; + import androidx.annotation.NonNull; /** @@ -24,10 +26,20 @@ import androidx.annotation.NonNull; public class UdfpsEnrollHelper { private static final String TAG = "UdfpsEnrollHelper"; + // IUdfpsOverlayController reason + private final int mEnrollReason; private int mTotalSteps = -1; private int mCurrentProgress = 0; + public UdfpsEnrollHelper(int reason) { + mEnrollReason = reason; + } + + boolean shouldShowProgressBar() { + return mEnrollReason == IUdfpsOverlayController.REASON_ENROLL_ENROLLING; + } + void onEnrollmentProgress(int remaining, @NonNull UdfpsProgressBar progressBar) { if (mTotalSteps == -1) { mTotalSteps = remaining; diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java index b21e1b5ebb15..00cb28b8b8fb 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java @@ -111,19 +111,16 @@ public class UdfpsView extends FrameLayout implements DozeReceiver, UdfpsIllumin mSensorProps = properties; } - void setUdfpsAnimation(@Nullable UdfpsAnimation animation) { + void setExtras(@Nullable UdfpsAnimation animation, @Nullable UdfpsEnrollHelper enrollHelper) { mAnimationView.setAnimation(animation); - if (animation instanceof UdfpsAnimationEnroll) { - mProgressBar.setVisibility(View.VISIBLE); - } else { - mProgressBar.setVisibility(View.GONE); - } - } - - void setEnrollHelper(@Nullable UdfpsEnrollHelper enrollHelper) { mEnrollHelper = enrollHelper; - if (mEnrollHelper != null) { + + if (enrollHelper != null) { mEnrollHelper.updateProgress(mProgressBar); + mProgressBar.setVisibility(enrollHelper.shouldShowProgressBar() + ? View.VISIBLE : View.GONE); + } else { + mProgressBar.setVisibility(View.GONE); } } diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java index 686f9f525426..b0e42cd137eb 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java @@ -197,7 +197,7 @@ public class FingerprintService extends SystemService implements BiometricServic @Override // Binder call public void enroll(final IBinder token, final byte[] hardwareAuthToken, final int userId, final IFingerprintServiceReceiver receiver, final String opPackageName, - boolean shouldLogMetrics) { + @FingerprintManager.EnrollReason int enrollReason) { Utils.checkPermission(getContext(), MANAGE_FINGERPRINT); final Pair<Integer, ServiceProvider> provider = getSingleProvider(); @@ -207,7 +207,7 @@ public class FingerprintService extends SystemService implements BiometricServic } provider.second.scheduleEnroll(provider.first, token, hardwareAuthToken, userId, - receiver, opPackageName, shouldLogMetrics); + receiver, opPackageName, enrollReason); } @Override // Binder call diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java index 303c080c044c..f672ae56e020 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java @@ -78,7 +78,7 @@ public interface ServiceProvider { void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken, int userId, @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName, - boolean shouldLogMetrics); + @FingerprintManager.EnrollReason int enrollReason); void cancelEnrollment(int sensorId, @NonNull IBinder token); diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/UdfpsHelper.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/UdfpsHelper.java index d092e860e208..37f8e8c2c1ee 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/UdfpsHelper.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/UdfpsHelper.java @@ -65,6 +65,17 @@ public class UdfpsHelper { } } + public static int getReasonFromEnrollReason(@FingerprintManager.EnrollReason int reason) { + switch (reason) { + case FingerprintManager.ENROLL_FIND_SENSOR: + return IUdfpsOverlayController.REASON_ENROLL_FIND_SENSOR; + case FingerprintManager.ENROLL_ENROLL: + return IUdfpsOverlayController.REASON_ENROLL_ENROLLING; + default: + return IUdfpsOverlayController.REASON_UNKNOWN; + } + } + public static void showUdfpsOverlay(int sensorId, int reason, @Nullable IUdfpsOverlayController udfpsOverlayController) { if (udfpsOverlayController == null) { diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/BiometricTestSessionImpl.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/BiometricTestSessionImpl.java index c2a30be6e2cb..ea9c709ec79f 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/BiometricTestSessionImpl.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/BiometricTestSessionImpl.java @@ -22,6 +22,7 @@ import android.annotation.NonNull; import android.content.Context; import android.hardware.biometrics.ITestSession; import android.hardware.fingerprint.Fingerprint; +import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.IFingerprintServiceReceiver; import android.os.Binder; import android.util.Slog; @@ -131,7 +132,7 @@ class BiometricTestSessionImpl extends ITestSession.Stub { Utils.checkPermission(mContext, TEST_BIOMETRIC); mProvider.scheduleEnroll(mSensorId, new Binder(), new byte[69], userId, mReceiver, - mContext.getOpPackageName(), true /* shouldLogMetrics */); + mContext.getOpPackageName(), FingerprintManager.ENROLL_ENROLL); } @Override diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintEnrollClient.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintEnrollClient.java index 08cc464b4766..ae64c77f1365 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintEnrollClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintEnrollClient.java @@ -25,6 +25,7 @@ import android.hardware.biometrics.BiometricsProtoEnums; import android.hardware.biometrics.common.ICancellationSignal; import android.hardware.biometrics.fingerprint.ISession; import android.hardware.fingerprint.Fingerprint; +import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.IUdfpsOverlayController; import android.os.IBinder; import android.os.RemoteException; @@ -43,6 +44,7 @@ class FingerprintEnrollClient extends EnrollClient<ISession> implements Udfps { private static final String TAG = "FingerprintEnrollClient"; @Nullable private final IUdfpsOverlayController mUdfpsOverlayController; + private final @FingerprintManager.EnrollReason int mEnrollReason; @Nullable private ICancellationSignal mCancellationSignal; private final int mMaxTemplatesPerUser; @@ -52,13 +54,17 @@ class FingerprintEnrollClient extends EnrollClient<ISession> implements Udfps { @NonNull byte[] hardwareAuthToken, @NonNull String owner, @NonNull BiometricUtils<Fingerprint> utils, int sensorId, @Nullable IUdfpsOverlayController udfpsOvelayController, int maxTemplatesPerUser, - boolean shouldLogMetrics) { + @FingerprintManager.EnrollReason int enrollReason) { super(context, lazyDaemon, token, listener, userId, hardwareAuthToken, owner, utils, 0 /* timeoutSec */, BiometricsProtoEnums.MODALITY_FINGERPRINT, sensorId, true /* shouldVibrate */); mUdfpsOverlayController = udfpsOvelayController; mMaxTemplatesPerUser = maxTemplatesPerUser; - setShouldLog(shouldLogMetrics); + + mEnrollReason = enrollReason; + if (enrollReason == FingerprintManager.ENROLL_FIND_SENSOR) { + setShouldLog(false); + } } @Override @@ -72,6 +78,7 @@ class FingerprintEnrollClient extends EnrollClient<ISession> implements Udfps { } } + @Override public void onAcquired(int acquiredInfo, int vendorCode) { super.onAcquired(acquiredInfo, vendorCode); @@ -112,7 +119,8 @@ class FingerprintEnrollClient extends EnrollClient<ISession> implements Udfps { @Override protected void startHalOperation() { - UdfpsHelper.showUdfpsOverlay(getSensorId(), IUdfpsOverlayController.REASON_ENROLL, + UdfpsHelper.showUdfpsOverlay(getSensorId(), + UdfpsHelper.getReasonFromEnrollReason(mEnrollReason), mUdfpsOverlayController); try { mCancellationSignal = getFreshDaemon().enroll(mSequentialId, diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java index fec2c4670439..ced46e140c0a 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java @@ -28,6 +28,7 @@ import android.hardware.biometrics.ITestSession; import android.hardware.biometrics.fingerprint.IFingerprint; import android.hardware.biometrics.fingerprint.SensorProps; import android.hardware.fingerprint.Fingerprint; +import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; import android.hardware.fingerprint.IFingerprintServiceReceiver; import android.hardware.fingerprint.IUdfpsOverlayController; @@ -366,7 +367,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi @Override public void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken, int userId, @NonNull IFingerprintServiceReceiver receiver, - @NonNull String opPackageName, boolean shouldLogMetrics) { + @NonNull String opPackageName, @FingerprintManager.EnrollReason int enrollReason) { mHandler.post(() -> { final IFingerprint daemon = getHalInstance(); if (daemon == null) { @@ -388,7 +389,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi mSensors.get(sensorId).getLazySession(), token, new ClientMonitorCallbackConverter(receiver), userId, hardwareAuthToken, opPackageName, FingerprintUtils.getInstance(sensorId), sensorId, - mUdfpsOverlayController, maxTemplatesPerUser, shouldLogMetrics); + mUdfpsOverlayController, maxTemplatesPerUser, enrollReason); scheduleForSensor(sensorId, client, new BaseClientMonitor.Callback() { @Override public void onClientFinished(@NonNull BaseClientMonitor clientMonitor, diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/BiometricTestSessionImpl.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/BiometricTestSessionImpl.java index 6893e72486bc..312ee0a267ac 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/BiometricTestSessionImpl.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/BiometricTestSessionImpl.java @@ -22,6 +22,7 @@ import android.annotation.NonNull; import android.content.Context; import android.hardware.biometrics.ITestSession; import android.hardware.fingerprint.Fingerprint; +import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.IFingerprintServiceReceiver; import android.os.Binder; import android.util.Slog; @@ -132,7 +133,7 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { Utils.checkPermission(mContext, TEST_BIOMETRIC); mFingerprint21.scheduleEnroll(mSensorId, new Binder(), new byte[69], userId, mReceiver, - mContext.getOpPackageName(), true/* shouldLogMetrics */); + mContext.getOpPackageName(), FingerprintManager.ENROLL_ENROLL); } @Override 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 f8e7c178ea96..7a74c6a39aa1 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 @@ -33,6 +33,7 @@ import android.hardware.biometrics.ITestSession; import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint; import android.hardware.biometrics.fingerprint.V2_2.IBiometricsFingerprintClientCallback; import android.hardware.fingerprint.Fingerprint; +import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintSensorProperties; import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; import android.hardware.fingerprint.IFingerprintServiceReceiver; @@ -547,7 +548,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider public void scheduleEnroll(int sensorId, @NonNull IBinder token, @NonNull byte[] hardwareAuthToken, int userId, @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName, - boolean shouldLogMetrics) { + @FingerprintManager.EnrollReason int enrollReason) { mHandler.post(() -> { scheduleUpdateActiveUserWithoutHandler(userId); @@ -555,7 +556,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider mLazyDaemon, token, new ClientMonitorCallbackConverter(receiver), userId, hardwareAuthToken, opPackageName, FingerprintUtils.getLegacyInstance(mSensorId), ENROLL_TIMEOUT_SEC, mSensorProperties.sensorId, mUdfpsOverlayController, - shouldLogMetrics); + enrollReason); mScheduler.scheduleClientMonitor(client, new BaseClientMonitor.Callback() { @Override public void onClientFinished(@NonNull BaseClientMonitor clientMonitor, diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/FingerprintEnrollClient.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/FingerprintEnrollClient.java index d927aa717fbc..33db64c3259b 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/FingerprintEnrollClient.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/FingerprintEnrollClient.java @@ -24,6 +24,7 @@ import android.hardware.biometrics.BiometricFingerprintConstants; import android.hardware.biometrics.BiometricsProtoEnums; import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint; import android.hardware.fingerprint.Fingerprint; +import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.IUdfpsOverlayController; import android.os.IBinder; import android.os.RemoteException; @@ -46,6 +47,7 @@ public class FingerprintEnrollClient extends EnrollClient<IBiometricsFingerprint private static final String TAG = "FingerprintEnrollClient"; @Nullable private final IUdfpsOverlayController mUdfpsOverlayController; + private final @FingerprintManager.EnrollReason int mEnrollReason; FingerprintEnrollClient(@NonNull Context context, @NonNull LazyDaemon<IBiometricsFingerprint> lazyDaemon, @NonNull IBinder token, @@ -53,12 +55,16 @@ public class FingerprintEnrollClient extends EnrollClient<IBiometricsFingerprint @NonNull byte[] hardwareAuthToken, @NonNull String owner, @NonNull BiometricUtils<Fingerprint> utils, int timeoutSec, int sensorId, @Nullable IUdfpsOverlayController udfpsOverlayController, - boolean shouldLogMetrics) { + @FingerprintManager.EnrollReason int enrollReason) { super(context, lazyDaemon, token, listener, userId, hardwareAuthToken, owner, utils, timeoutSec, BiometricsProtoEnums.MODALITY_FINGERPRINT, sensorId, true /* shouldVibrate */); mUdfpsOverlayController = udfpsOverlayController; - setShouldLog(shouldLogMetrics); + + mEnrollReason = enrollReason; + if (enrollReason == FingerprintManager.ENROLL_FIND_SENSOR) { + setShouldLog(false); + } } @Override @@ -76,7 +82,8 @@ public class FingerprintEnrollClient extends EnrollClient<IBiometricsFingerprint @Override protected void startHalOperation() { - UdfpsHelper.showUdfpsOverlay(getSensorId(), IUdfpsOverlayController.REASON_ENROLL, + UdfpsHelper.showUdfpsOverlay(getSensorId(), + UdfpsHelper.getReasonFromEnrollReason(mEnrollReason), mUdfpsOverlayController); try { // GroupId was never used. In fact, groupId is always the same as userId. |