From 02e5b66448e077379c88cc212646448a013980cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CGrace?= Date: Tue, 20 Apr 2021 05:32:06 +0000 Subject: [PATCH] Configures FingerprintService to use FingerprintStateCallback to notify clients of fingerprint sensor state changes Implements FingerprintStateCallback class to receive notifications of changes in fingerprint state, and updates ServiceProvider method signatures and Fingerprint21 accordingly to use this callback type for authentication, enrollment, and other side fps events. Also defines FingerprintStateListener class to forward state changes in fingerprint-related events from FingerprintService to the SideFpsEventHandler, which defines logic for interactions between power button state and side fps state. Test: adb shell dumpsys fingerprint Bug: 183997671 Change-Id: I9a44e2f31648590c0d0d4d065b68c39c9f204051 --- .../fingerprint/FingerprintManager.java | 24 ++++ .../fingerprint/IFingerprintService.aidl | 2 +- .../IFingerprintStateListener.aidl | 4 +- .../sensors/BiometricScheduler.java | 2 +- .../fingerprint/FingerprintService.java | 64 +---------- .../fingerprint/FingerprintStateCallback.java | 105 ++++++++++++++++++ .../sensors/fingerprint/ServiceProvider.java | 8 +- .../aidl/BiometricTestSessionImpl.java | 6 +- .../fingerprint/aidl/FingerprintProvider.java | 10 +- .../sensors/fingerprint/aidl/Sensor.java | 4 +- .../hidl/BiometricTestSessionImpl.java | 6 +- .../fingerprint/hidl/Fingerprint21.java | 10 +- 12 files changed, 159 insertions(+), 86 deletions(-) create mode 100644 services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintStateCallback.java diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java index ab9e0dffc428d..2392f96cb5084 100644 --- a/core/java/android/hardware/fingerprint/FingerprintManager.java +++ b/core/java/android/hardware/fingerprint/FingerprintManager.java @@ -23,6 +23,7 @@ import static android.Manifest.permission.TEST_BIOMETRIC; import static android.Manifest.permission.USE_BIOMETRIC; import static android.Manifest.permission.USE_BIOMETRIC_INTERNAL; import static android.Manifest.permission.USE_FINGERPRINT; +import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON; import android.annotation.IntDef; import android.annotation.NonNull; @@ -866,6 +867,19 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing } } + /** + * Forwards FingerprintStateListener to FingerprintService + * @param listener new FingerprintStateListener being added + * @hide + */ + public void registerFingerprintStateListener(@NonNull FingerprintStateListener listener) { + try { + mService.registerFingerprintStateListener(listener); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + /** * @hide */ @@ -967,6 +981,16 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing } } + /** + * Returns whether the device has a power button fingerprint sensor. + * @return boolean indicating whether power button is fingerprint sensor + * @hide + */ + public boolean isPowerbuttonFps() { + final FingerprintSensorPropertiesInternal sensorProps = getFirstFingerprintSensor(); + return sensorProps.sensorType == TYPE_POWER_BUTTON; + } + /** * @hide */ diff --git a/core/java/android/hardware/fingerprint/IFingerprintService.aidl b/core/java/android/hardware/fingerprint/IFingerprintService.aidl index 4bb3ab6e1bc6d..3bceacb5e479a 100644 --- a/core/java/android/hardware/fingerprint/IFingerprintService.aidl +++ b/core/java/android/hardware/fingerprint/IFingerprintService.aidl @@ -156,6 +156,6 @@ interface IFingerprintService { // Sets the controller for managing the UDFPS overlay. void setUdfpsOverlayController(in IUdfpsOverlayController controller); - // Registers FingerprintStateListener in list stored by FingerprintService + // Registers FingerprintStateListener in list stored by FingerprintService. void registerFingerprintStateListener(IFingerprintStateListener listener); } diff --git a/core/java/android/hardware/fingerprint/IFingerprintStateListener.aidl b/core/java/android/hardware/fingerprint/IFingerprintStateListener.aidl index a4d34afcfcf40..56dba7ea1d9ae 100644 --- a/core/java/android/hardware/fingerprint/IFingerprintStateListener.aidl +++ b/core/java/android/hardware/fingerprint/IFingerprintStateListener.aidl @@ -1,5 +1,5 @@ /* - * Copyright (C) 2014 The Android Open Source Project + * Copyright (C) 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,7 +19,7 @@ import android.hardware.fingerprint.Fingerprint; /** * Communication channel for FingerprintManager to register the FingerprintStateListener - * in FingerprintService + * in FingerprintService. * @hide */ oneway interface IFingerprintStateListener { diff --git a/services/core/java/com/android/server/biometrics/sensors/BiometricScheduler.java b/services/core/java/com/android/server/biometrics/sensors/BiometricScheduler.java index f8a2156ce238a..aa507901ab78a 100644 --- a/services/core/java/com/android/server/biometrics/sensors/BiometricScheduler.java +++ b/services/core/java/com/android/server/biometrics/sensors/BiometricScheduler.java @@ -471,7 +471,7 @@ public class BiometricScheduler { * Adds a {@link BaseClientMonitor} to the pending queue * * @param clientMonitor operation to be scheduled - * @param clientCallback optional callback, invoked when the client state changes + * @param clientCallback optional callback, invoked when the client state changes. */ public void scheduleClientMonitor(@NonNull BaseClientMonitor clientMonitor, @Nullable BaseClientMonitor.Callback clientCallback) { 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 deb251bc4853e..b780222da380c 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 @@ -29,11 +29,6 @@ import static android.hardware.biometrics.BiometricFingerprintConstants.FINGERPR import static android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ERROR_USER_CANCELED; import static android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ERROR_VENDOR; import static android.hardware.biometrics.SensorProperties.STRENGTH_STRONG; -import static android.hardware.fingerprint.FingerprintStateListener.STATE_AUTH_OTHER; -import static android.hardware.fingerprint.FingerprintStateListener.STATE_BP_AUTH; -import static android.hardware.fingerprint.FingerprintStateListener.STATE_ENROLLING; -import static android.hardware.fingerprint.FingerprintStateListener.STATE_IDLE; -import static android.hardware.fingerprint.FingerprintStateListener.STATE_KEYGUARD_AUTH; import android.annotation.NonNull; import android.annotation.Nullable; @@ -55,7 +50,6 @@ import android.hardware.fingerprint.Fingerprint; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; import android.hardware.fingerprint.FingerprintServiceReceiver; -import android.hardware.fingerprint.FingerprintStateListener; import android.hardware.fingerprint.IFingerprintClientActiveCallback; import android.hardware.fingerprint.IFingerprintService; import android.hardware.fingerprint.IFingerprintServiceReceiver; @@ -82,8 +76,6 @@ import com.android.internal.widget.LockPatternUtils; import com.android.server.ServiceThread; import com.android.server.SystemService; import com.android.server.biometrics.Utils; -import com.android.server.biometrics.sensors.AuthenticationClient; -import com.android.server.biometrics.sensors.BaseClientMonitor; import com.android.server.biometrics.sensors.BiometricServiceCallback; import com.android.server.biometrics.sensors.ClientMonitorCallbackConverter; import com.android.server.biometrics.sensors.LockoutResetDispatcher; @@ -91,7 +83,6 @@ import com.android.server.biometrics.sensors.LockoutTracker; import com.android.server.biometrics.sensors.fingerprint.aidl.FingerprintProvider; import com.android.server.biometrics.sensors.fingerprint.hidl.Fingerprint21; import com.android.server.biometrics.sensors.fingerprint.hidl.Fingerprint21UdfpsMock; -import com.android.server.biometrics.sensors.fingerprint.hidl.FingerprintEnrollClient; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -116,60 +107,13 @@ public class FingerprintService extends SystemService implements BiometricServic private final FingerprintServiceWrapper mServiceWrapper; @NonNull private List mServiceProviders; @NonNull private final FingerprintStateCallback mFingerprintStateCallback; - @NonNull private @FingerprintStateListener.State int mFingerprintState; - - private List mFingerprintStateListeners = new ArrayList<>(); - - /** Callback to receive notifications about changes in fingerprint state. */ - public final class FingerprintStateCallback implements BaseClientMonitor.Callback { - @Override - public void onClientStarted(@NonNull BaseClientMonitor client) { - final int previousFingerprintState = mFingerprintState; - if (client instanceof AuthenticationClient) { - AuthenticationClient authClient = (AuthenticationClient) client; - if (authClient.isKeyguard()) { - mFingerprintState = STATE_KEYGUARD_AUTH; - } else if (authClient.isBiometricPrompt()) { - mFingerprintState = STATE_BP_AUTH; - } else { - mFingerprintState = STATE_AUTH_OTHER; - } - } else if (client instanceof FingerprintEnrollClient) { - mFingerprintState = STATE_ENROLLING; - } else { - Slog.w(TAG, "Other authentication client: " + Utils.getClientName(client)); - mFingerprintState = STATE_IDLE; - } - Slog.d(TAG, "Fps state updated from " + previousFingerprintState + " to " - + mFingerprintState + ", client " + client); - notifyFingerprintStateListeners(mFingerprintState); - } - - @Override - public void onClientFinished(@NonNull BaseClientMonitor client, boolean success) { - mFingerprintState = STATE_IDLE; - Slog.d(TAG, "Client finished, fps state updated to " + mFingerprintState - + ", client " + client); - notifyFingerprintStateListeners(mFingerprintState); - } - - private void notifyFingerprintStateListeners(@FingerprintStateListener.State int newState) { - for (IFingerprintStateListener listener : mFingerprintStateListeners) { - try { - listener.onStateChanged(newState); - } catch (RemoteException e) { - Slog.e(TAG, "Remote exception in fingerprint state change", e); - } - } - } - } /** * Registers FingerprintStateListener in list stored by FingerprintService * @param listener new FingerprintStateListener being added */ - public void registerFingerprintStateListener(IFingerprintStateListener listener) { - mFingerprintStateListeners.add(listener); + public void registerFingerprintStateListener(@NonNull IFingerprintStateListener listener) { + mFingerprintStateCallback.registerFingerprintStateListener(listener); } /** @@ -636,7 +580,8 @@ public class FingerprintService extends SystemService implements BiometricServic : provider.getSensorProperties()) { pw.println("Dumping for sensorId: " + props.sensorId + ", provider: " + provider.getClass().getSimpleName()); - pw.println("Fps state: " + mFingerprintState); + pw.println("Fps state: " + + mFingerprintStateCallback.getFingerprintState()); provider.dumpInternal(props.sensorId, pw); pw.println(); } @@ -898,7 +843,6 @@ public class FingerprintService extends SystemService implements BiometricServic mLockPatternUtils = new LockPatternUtils(context); mServiceProviders = new ArrayList<>(); mFingerprintStateCallback = new FingerprintStateCallback(); - mFingerprintState = STATE_IDLE; } @Override diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintStateCallback.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintStateCallback.java new file mode 100644 index 0000000000000..5f998d81fb833 --- /dev/null +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintStateCallback.java @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.biometrics.sensors.fingerprint; + +import static android.hardware.fingerprint.FingerprintStateListener.STATE_AUTH_OTHER; +import static android.hardware.fingerprint.FingerprintStateListener.STATE_BP_AUTH; +import static android.hardware.fingerprint.FingerprintStateListener.STATE_ENROLLING; +import static android.hardware.fingerprint.FingerprintStateListener.STATE_IDLE; +import static android.hardware.fingerprint.FingerprintStateListener.STATE_KEYGUARD_AUTH; + +import android.annotation.NonNull; +import android.hardware.fingerprint.FingerprintStateListener; +import android.hardware.fingerprint.IFingerprintStateListener; +import android.os.RemoteException; +import android.util.Slog; + +import com.android.server.biometrics.Utils; +import com.android.server.biometrics.sensors.AuthenticationClient; +import com.android.server.biometrics.sensors.BaseClientMonitor; +import com.android.server.biometrics.sensors.fingerprint.hidl.FingerprintEnrollClient; + +import java.util.concurrent.CopyOnWriteArrayList; + +/** + * A callback for receiving notifications about changes in fingerprint state. + */ +public class FingerprintStateCallback implements BaseClientMonitor.Callback { + private @FingerprintStateListener.State int mFingerprintState; + @NonNull private final CopyOnWriteArrayList + mFingerprintStateListeners = new CopyOnWriteArrayList<>(); + + public FingerprintStateCallback() { + mFingerprintState = STATE_IDLE; + } + + public int getFingerprintState() { + return mFingerprintState; + } + + @Override + public void onClientStarted(@NonNull BaseClientMonitor client) { + final int previousFingerprintState = mFingerprintState; + if (client instanceof AuthenticationClient) { + AuthenticationClient authClient = (AuthenticationClient) client; + if (authClient.isKeyguard()) { + mFingerprintState = STATE_KEYGUARD_AUTH; + } else if (authClient.isBiometricPrompt()) { + mFingerprintState = STATE_BP_AUTH; + } else { + mFingerprintState = STATE_AUTH_OTHER; + } + } else if (client instanceof FingerprintEnrollClient) { + mFingerprintState = STATE_ENROLLING; + } else { + Slog.w(FingerprintService.TAG, + "Other authentication client: " + Utils.getClientName(client)); + mFingerprintState = STATE_IDLE; + } + Slog.d(FingerprintService.TAG, "Fps state updated from " + previousFingerprintState + + " to " + mFingerprintState + ", client " + client); + notifyFingerprintStateListeners(mFingerprintState); + } + + @Override + public void onClientFinished(@NonNull BaseClientMonitor client, boolean success) { + mFingerprintState = STATE_IDLE; + Slog.d(FingerprintService.TAG, + "Client finished, fps state updated to " + mFingerprintState + ", client " + + client); + notifyFingerprintStateListeners(mFingerprintState); + } + + private void notifyFingerprintStateListeners(@FingerprintStateListener.State int newState) { + for (IFingerprintStateListener listener : mFingerprintStateListeners) { + try { + listener.onStateChanged(newState); + } catch (RemoteException e) { + Slog.e(FingerprintService.TAG, "Remote exception in fingerprint state change", e); + } + } + } + + /** + * Enables clients to register a FingerprintStateListener. Used by FingerprintService to forward + * updates in fingerprint sensor state to the SideFpNsEventHandler + * @param listener + */ + public void registerFingerprintStateListener(@NonNull IFingerprintStateListener listener) { + mFingerprintStateListeners.add(listener); + } +} 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 e610448028e93..701b9a739e33e 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 @@ -87,20 +87,20 @@ public interface ServiceProvider { void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken, int userId, @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName, @FingerprintManager.EnrollReason int enrollReason, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback); + @NonNull FingerprintStateCallback fingerprintStateCallback); void cancelEnrollment(int sensorId, @NonNull IBinder token); void scheduleFingerDetect(int sensorId, @NonNull IBinder token, int userId, @NonNull ClientMonitorCallbackConverter callback, @NonNull String opPackageName, int statsClient, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback); + @NonNull FingerprintStateCallback fingerprintStateCallback); void scheduleAuthenticate(int sensorId, @NonNull IBinder token, long operationId, int userId, int cookie, @NonNull ClientMonitorCallbackConverter callback, @NonNull String opPackageName, boolean restricted, int statsClient, boolean allowBackgroundAuthentication, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback); + @NonNull FingerprintStateCallback fingerprintStateCallback); void startPreparedClient(int sensorId, int cookie); @@ -151,6 +151,6 @@ public interface ServiceProvider { @NonNull ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback, + @NonNull FingerprintStateCallback fingerprintStateCallback, @NonNull String opPackageName); } 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 66bd73c516550..e34afc09eec1e 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 @@ -32,7 +32,7 @@ import android.util.Slog; import com.android.server.biometrics.HardwareAuthTokenUtils; import com.android.server.biometrics.Utils; import com.android.server.biometrics.sensors.BaseClientMonitor; -import com.android.server.biometrics.sensors.fingerprint.FingerprintService; +import com.android.server.biometrics.sensors.fingerprint.FingerprintStateCallback; import com.android.server.biometrics.sensors.fingerprint.FingerprintUtils; import java.util.HashSet; @@ -51,7 +51,7 @@ class BiometricTestSessionImpl extends ITestSession.Stub { @NonNull private final Context mContext; private final int mSensorId; @NonNull private final ITestSessionCallback mCallback; - @NonNull private final FingerprintService.FingerprintStateCallback mFingerprintStateCallback; + @NonNull private final FingerprintStateCallback mFingerprintStateCallback; @NonNull private final FingerprintProvider mProvider; @NonNull private final Sensor mSensor; @NonNull private final Set mEnrollmentIds; @@ -117,7 +117,7 @@ class BiometricTestSessionImpl extends ITestSession.Stub { BiometricTestSessionImpl(@NonNull Context context, int sensorId, @NonNull ITestSessionCallback callback, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback, + @NonNull FingerprintStateCallback fingerprintStateCallback, @NonNull FingerprintProvider provider, @NonNull Sensor sensor) { mContext = context; 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 f1e37e0dc6c23..c23c113b56722 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 @@ -55,7 +55,7 @@ import com.android.server.biometrics.sensors.ClientMonitorCallbackConverter; import com.android.server.biometrics.sensors.InvalidationRequesterClient; import com.android.server.biometrics.sensors.LockoutResetDispatcher; import com.android.server.biometrics.sensors.PerformanceTracker; -import com.android.server.biometrics.sensors.fingerprint.FingerprintService; +import com.android.server.biometrics.sensors.fingerprint.FingerprintStateCallback; import com.android.server.biometrics.sensors.fingerprint.FingerprintUtils; import com.android.server.biometrics.sensors.fingerprint.GestureAvailabilityDispatcher; import com.android.server.biometrics.sensors.fingerprint.ServiceProvider; @@ -320,7 +320,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi public void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken, int userId, @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName, @FingerprintManager.EnrollReason int enrollReason, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback) { + @NonNull FingerprintStateCallback fingerprintStateCallback) { mHandler.post(() -> { final int maxTemplatesPerUser = mSensors.get(sensorId).getSensorProperties() .maxEnrollmentsPerUser; @@ -358,7 +358,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi public void scheduleFingerDetect(int sensorId, @NonNull IBinder token, int userId, @NonNull ClientMonitorCallbackConverter callback, @NonNull String opPackageName, int statsClient, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback) { + @NonNull FingerprintStateCallback fingerprintStateCallback) { mHandler.post(() -> { final boolean isStrongBiometric = Utils.isStrongBiometric(sensorId); final FingerprintDetectClient client = new FingerprintDetectClient(mContext, @@ -374,7 +374,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi int userId, int cookie, @NonNull ClientMonitorCallbackConverter callback, @NonNull String opPackageName, boolean restricted, int statsClient, boolean allowBackgroundAuthentication, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback) { + @NonNull FingerprintStateCallback fingerprintStateCallback) { mHandler.post(() -> { final boolean isStrongBiometric = Utils.isStrongBiometric(sensorId); final FingerprintAuthenticationClient client = new FingerprintAuthenticationClient( @@ -572,7 +572,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi @NonNull @Override public ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback, + @NonNull FingerprintStateCallback fingerprintStateCallback, @NonNull String opPackageName) { return mSensors.get(sensorId).createTestSession(callback, fingerprintStateCallback); } diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/Sensor.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/Sensor.java index 49c454fcfaec1..4ad3119386969 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/Sensor.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/Sensor.java @@ -58,7 +58,7 @@ import com.android.server.biometrics.sensors.RemovalConsumer; import com.android.server.biometrics.sensors.StartUserClient; import com.android.server.biometrics.sensors.StopUserClient; import com.android.server.biometrics.sensors.UserAwareBiometricScheduler; -import com.android.server.biometrics.sensors.fingerprint.FingerprintService; +import com.android.server.biometrics.sensors.fingerprint.FingerprintStateCallback; import com.android.server.biometrics.sensors.fingerprint.FingerprintUtils; import com.android.server.biometrics.sensors.fingerprint.GestureAvailabilityDispatcher; @@ -487,7 +487,7 @@ class Sensor { } @NonNull ITestSession createTestSession(@NonNull ITestSessionCallback callback, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback) { + @NonNull FingerprintStateCallback fingerprintStateCallback) { return new BiometricTestSessionImpl(mContext, mSensorProperties.sensorId, callback, fingerprintStateCallback, mProvider, this); } 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 4ff6a8fda0064..ad4f679f075fc 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 @@ -31,7 +31,7 @@ import android.util.Slog; import com.android.server.biometrics.Utils; import com.android.server.biometrics.sensors.BaseClientMonitor; -import com.android.server.biometrics.sensors.fingerprint.FingerprintService; +import com.android.server.biometrics.sensors.fingerprint.FingerprintStateCallback; import com.android.server.biometrics.sensors.fingerprint.FingerprintUtils; import java.util.ArrayList; @@ -52,7 +52,7 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { @NonNull private final Context mContext; private final int mSensorId; @NonNull private final ITestSessionCallback mCallback; - @NonNull private final FingerprintService.FingerprintStateCallback mFingerprintStateCallback; + @NonNull private final FingerprintStateCallback mFingerprintStateCallback; @NonNull private final Fingerprint21 mFingerprint21; @NonNull private final Fingerprint21.HalResultController mHalResultController; @NonNull private final Set mEnrollmentIds; @@ -118,7 +118,7 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { BiometricTestSessionImpl(@NonNull Context context, int sensorId, @NonNull ITestSessionCallback callback, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback, + @NonNull FingerprintStateCallback fingerprintStateCallback, @NonNull Fingerprint21 fingerprint21, @NonNull Fingerprint21.HalResultController halResultController) { mContext = context; 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 ed681c950dd59..ebfd5347241d5 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 @@ -74,7 +74,7 @@ import com.android.server.biometrics.sensors.LockoutResetDispatcher; import com.android.server.biometrics.sensors.LockoutTracker; import com.android.server.biometrics.sensors.PerformanceTracker; import com.android.server.biometrics.sensors.RemovalConsumer; -import com.android.server.biometrics.sensors.fingerprint.FingerprintService; +import com.android.server.biometrics.sensors.fingerprint.FingerprintStateCallback; import com.android.server.biometrics.sensors.fingerprint.FingerprintUtils; import com.android.server.biometrics.sensors.fingerprint.GestureAvailabilityDispatcher; import com.android.server.biometrics.sensors.fingerprint.ServiceProvider; @@ -574,7 +574,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider @NonNull byte[] hardwareAuthToken, int userId, @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName, @FingerprintManager.EnrollReason int enrollReason, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback) { + @NonNull FingerprintStateCallback fingerprintStateCallback) { mHandler.post(() -> { scheduleUpdateActiveUserWithoutHandler(userId); @@ -614,7 +614,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider public void scheduleFingerDetect(int sensorId, @NonNull IBinder token, int userId, @NonNull ClientMonitorCallbackConverter listener, @NonNull String opPackageName, int statsClient, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback) { + @NonNull FingerprintStateCallback fingerprintStateCallback) { mHandler.post(() -> { scheduleUpdateActiveUserWithoutHandler(userId); @@ -632,7 +632,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider int userId, int cookie, @NonNull ClientMonitorCallbackConverter listener, @NonNull String opPackageName, boolean restricted, int statsClient, boolean allowBackgroundAuthentication, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback) { + @NonNull FingerprintStateCallback fingerprintStateCallback) { mHandler.post(() -> { scheduleUpdateActiveUserWithoutHandler(userId); @@ -896,7 +896,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider @NonNull @Override public ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull FingerprintService.FingerprintStateCallback fingerprintStateCallback, + @NonNull FingerprintStateCallback fingerprintStateCallback, @NonNull String opPackageName) { return new BiometricTestSessionImpl(mContext, mSensorProperties.sensorId, callback, fingerprintStateCallback, this, mHalResultController);