Merge "Configures FingerprintService to use FingerprintStateCallback to notify clients of fingerprint sensor state changes" into sc-dev
This commit is contained in:
@@ -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 static com.android.internal.util.FrameworkStatsLog.AUTH_DEPRECATED_APIUSED__DEPRECATED_API__API_FINGERPRINT_MANAGER_AUTHENTICATE;
|
||||
import static com.android.internal.util.FrameworkStatsLog.AUTH_DEPRECATED_APIUSED__DEPRECATED_API__API_FINGERPRINT_MANAGER_HAS_ENROLLED_FINGERPRINTS;
|
||||
@@ -877,6 +878,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
|
||||
*/
|
||||
@@ -988,6 +1002,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
|
||||
*/
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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<ServiceProvider> mServiceProviders;
|
||||
@NonNull private final FingerprintStateCallback mFingerprintStateCallback;
|
||||
@NonNull private @FingerprintStateListener.State int mFingerprintState;
|
||||
|
||||
private List<IFingerprintStateListener> 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
|
||||
|
||||
@@ -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<IFingerprintStateListener>
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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<Integer> 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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -488,7 +488,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);
|
||||
}
|
||||
|
||||
@@ -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<Integer> 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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user