diff options
29 files changed, 72 insertions, 303 deletions
diff --git a/core/java/android/hardware/biometrics/BiometricManager.java b/core/java/android/hardware/biometrics/BiometricManager.java index ab817d1da4d9..5f5697a4ed0b 100644 --- a/core/java/android/hardware/biometrics/BiometricManager.java +++ b/core/java/android/hardware/biometrics/BiometricManager.java @@ -237,8 +237,7 @@ public class BiometricManager { public BiometricTestSession createTestSession(int sensorId) { try { return new BiometricTestSession(mContext, sensorId, - (context, sensorId1, callback) -> mService - .createTestSession(sensorId1, callback, context.getOpPackageName())); + mService.createTestSession(sensorId, mContext.getOpPackageName())); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } diff --git a/core/java/android/hardware/biometrics/BiometricTestSession.java b/core/java/android/hardware/biometrics/BiometricTestSession.java index ff1a17e07c11..1c3560882f1b 100644 --- a/core/java/android/hardware/biometrics/BiometricTestSession.java +++ b/core/java/android/hardware/biometrics/BiometricTestSession.java @@ -19,7 +19,6 @@ package android.hardware.biometrics; import static android.Manifest.permission.TEST_BIOMETRIC; import android.annotation.NonNull; -import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.TestApi; import android.content.Context; @@ -28,9 +27,6 @@ import android.os.RemoteException; import android.util.ArraySet; import android.util.Log; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - /** * Common set of interfaces to test biometric-related APIs, including {@link BiometricPrompt} and * {@link android.hardware.fingerprint.FingerprintManager}. @@ -40,58 +36,22 @@ import java.util.concurrent.TimeUnit; public class BiometricTestSession implements AutoCloseable { private static final String TAG = "BiometricTestSession"; - /** - * @hide - */ - public interface TestSessionProvider { - @NonNull - ITestSession createTestSession(@NonNull Context context, int sensorId, - @NonNull ITestSessionCallback callback) throws RemoteException; - } - private final Context mContext; private final int mSensorId; private final ITestSession mTestSession; // Keep track of users that were tested, which need to be cleaned up when finishing. - @NonNull private final ArraySet<Integer> mTestedUsers; - - // Track the users currently cleaning up, and provide a latch that gets notified when all - // users have finished cleaning up. This is an imperfect system, as there can technically be - // multiple cleanups per user. Theoretically we should track the cleanup's BaseClientMonitor's - // unique ID, but it's complicated to plumb it through. This should be fine for now. - @Nullable private CountDownLatch mCloseLatch; - @NonNull private final ArraySet<Integer> mUsersCleaningUp; - - private final ITestSessionCallback mCallback = new ITestSessionCallback.Stub() { - @Override - public void onCleanupStarted(int userId) { - Log.d(TAG, "onCleanupStarted, sensor: " + mSensorId + ", userId: " + userId); - } - - @Override - public void onCleanupFinished(int userId) { - Log.d(TAG, "onCleanupFinished, sensor: " + mSensorId - + ", userId: " + userId - + ", remaining users: " + mUsersCleaningUp.size()); - mUsersCleaningUp.remove(userId); - - if (mUsersCleaningUp.isEmpty() && mCloseLatch != null) { - mCloseLatch.countDown(); - } - } - }; + private final ArraySet<Integer> mTestedUsers; /** * @hide */ public BiometricTestSession(@NonNull Context context, int sensorId, - @NonNull TestSessionProvider testSessionProvider) throws RemoteException { + @NonNull ITestSession testSession) { mContext = context; mSensorId = sensorId; - mTestSession = testSessionProvider.createTestSession(context, sensorId, mCallback); + mTestSession = testSession; mTestedUsers = new ArraySet<>(); - mUsersCleaningUp = new ArraySet<>(); setTestHalEnabled(true); } @@ -216,11 +176,6 @@ public class BiometricTestSession implements AutoCloseable { @RequiresPermission(TEST_BIOMETRIC) public void cleanupInternalState(int userId) { try { - if (mUsersCleaningUp.contains(userId)) { - Log.w(TAG, "Cleanup already in progress for user: " + userId); - } - - mUsersCleaningUp.add(userId); mTestSession.cleanupInternalState(userId); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); @@ -230,24 +185,12 @@ public class BiometricTestSession implements AutoCloseable { @Override @RequiresPermission(TEST_BIOMETRIC) public void close() { - // Cleanup can be performed using the test HAL, since it always responds to enumerate with - // zero enrollments. - if (!mTestedUsers.isEmpty()) { - mCloseLatch = new CountDownLatch(1); - for (int user : mTestedUsers) { - cleanupInternalState(user); - } - - try { - Log.d(TAG, "Awaiting latch..."); - mCloseLatch.await(10, TimeUnit.SECONDS); - Log.d(TAG, "Finished awaiting"); - } catch (InterruptedException e) { - Log.e(TAG, "Latch interrupted", e); - } - } - - // Disable the test HAL after the sensor becomes idle. + // Disable the test HAL first, so that enumerate is run on the real HAL, which should have + // no enrollments. Test-only framework enrollments will be deleted. setTestHalEnabled(false); + + for (int user : mTestedUsers) { + cleanupInternalState(user); + } } } diff --git a/core/java/android/hardware/biometrics/IAuthService.aidl b/core/java/android/hardware/biometrics/IAuthService.aidl index d8c9dbc849a9..0dfd5dbf300e 100644 --- a/core/java/android/hardware/biometrics/IAuthService.aidl +++ b/core/java/android/hardware/biometrics/IAuthService.aidl @@ -20,7 +20,6 @@ import android.hardware.biometrics.IBiometricEnabledOnKeyguardCallback; import android.hardware.biometrics.IBiometricServiceReceiver; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.PromptInfo; import android.hardware.biometrics.SensorPropertiesInternal; @@ -33,7 +32,7 @@ import android.hardware.biometrics.SensorPropertiesInternal; */ interface IAuthService { // Creates a test session with the specified sensorId - ITestSession createTestSession(int sensorId, ITestSessionCallback callback, String opPackageName); + ITestSession createTestSession(int sensorId, String opPackageName); // Retrieve static sensor properties for all biometric sensors List<SensorPropertiesInternal> getSensorProperties(String opPackageName); diff --git a/core/java/android/hardware/biometrics/IBiometricAuthenticator.aidl b/core/java/android/hardware/biometrics/IBiometricAuthenticator.aidl index 7639c5dd4d16..c854ac9847d8 100644 --- a/core/java/android/hardware/biometrics/IBiometricAuthenticator.aidl +++ b/core/java/android/hardware/biometrics/IBiometricAuthenticator.aidl @@ -20,7 +20,6 @@ import android.hardware.biometrics.IBiometricSensorReceiver; import android.hardware.biometrics.IBiometricServiceLockoutResetCallback; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.SensorPropertiesInternal; import android.hardware.face.IFaceServiceReceiver; import android.hardware.face.Face; @@ -33,7 +32,7 @@ import android.hardware.face.Face; interface IBiometricAuthenticator { // Creates a test session - ITestSession createTestSession(ITestSessionCallback callback, String opPackageName); + ITestSession createTestSession(String opPackageName); // Retrieve static sensor properties SensorPropertiesInternal getSensorProperties(String opPackageName); diff --git a/core/java/android/hardware/biometrics/IBiometricService.aidl b/core/java/android/hardware/biometrics/IBiometricService.aidl index 24331863a05f..a14a910a9e50 100644 --- a/core/java/android/hardware/biometrics/IBiometricService.aidl +++ b/core/java/android/hardware/biometrics/IBiometricService.aidl @@ -21,7 +21,6 @@ import android.hardware.biometrics.IBiometricServiceReceiver; import android.hardware.biometrics.IBiometricAuthenticator; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.PromptInfo; import android.hardware.biometrics.SensorPropertiesInternal; @@ -31,7 +30,7 @@ import android.hardware.biometrics.SensorPropertiesInternal; */ interface IBiometricService { // Creates a test session with the specified sensorId - ITestSession createTestSession(int sensorId, ITestSessionCallback callback, String opPackageName); + ITestSession createTestSession(int sensorId, String opPackageName); // Retrieve static sensor properties for all biometric sensors List<SensorPropertiesInternal> getSensorProperties(String opPackageName); diff --git a/core/java/android/hardware/biometrics/ITestSession.aidl b/core/java/android/hardware/biometrics/ITestSession.aidl index f8395a119c0b..fa7a62c53531 100644 --- a/core/java/android/hardware/biometrics/ITestSession.aidl +++ b/core/java/android/hardware/biometrics/ITestSession.aidl @@ -18,7 +18,7 @@ package android.hardware.biometrics; import android.hardware.biometrics.SensorPropertiesInternal; /** - * A test service for FingerprintManager and BiometricManager. + * A test service for FingerprintManager and BiometricPrompt. * @hide */ interface ITestSession { diff --git a/core/java/android/hardware/biometrics/ITestSessionCallback.aidl b/core/java/android/hardware/biometrics/ITestSessionCallback.aidl deleted file mode 100644 index 3d9517f29548..000000000000 --- a/core/java/android/hardware/biometrics/ITestSessionCallback.aidl +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (C) 2020 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 android.hardware.biometrics; - -/** - * ITestSession callback for FingerprintManager and BiometricManager. - * @hide - */ -interface ITestSessionCallback { - void onCleanupStarted(int userId); - void onCleanupFinished(int userId); -} diff --git a/core/java/android/hardware/face/IFaceService.aidl b/core/java/android/hardware/face/IFaceService.aidl index 6e7c701ef5ff..a2e0b3b1cb41 100644 --- a/core/java/android/hardware/face/IFaceService.aidl +++ b/core/java/android/hardware/face/IFaceService.aidl @@ -19,7 +19,6 @@ import android.hardware.biometrics.IBiometricSensorReceiver; import android.hardware.biometrics.IBiometricServiceLockoutResetCallback; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.face.IFaceServiceReceiver; import android.hardware.face.Face; import android.hardware.face.FaceSensorPropertiesInternal; @@ -33,7 +32,7 @@ import android.view.Surface; interface IFaceService { // Creates a test session with the specified sensorId - ITestSession createTestSession(int sensorId, ITestSessionCallback callback, String opPackageName); + ITestSession createTestSession(int sensorId, String opPackageName); // Requests a proto dump of the specified sensor byte[] dumpSensorServiceStateProto(int sensorId, boolean clearSchedulerBuffer); diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java index 9d086cf203e2..6df2764d3f8b 100644 --- a/core/java/android/hardware/fingerprint/FingerprintManager.java +++ b/core/java/android/hardware/fingerprint/FingerprintManager.java @@ -154,8 +154,7 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing public BiometricTestSession createTestSession(int sensorId) { try { return new BiometricTestSession(mContext, sensorId, - (context, sensorId1, callback) -> mService - .createTestSession(sensorId1, callback, context.getOpPackageName())); + mService.createTestSession(sensorId, mContext.getOpPackageName())); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } diff --git a/core/java/android/hardware/fingerprint/IFingerprintService.aidl b/core/java/android/hardware/fingerprint/IFingerprintService.aidl index 054c0d0f6513..1694fef0f71b 100644 --- a/core/java/android/hardware/fingerprint/IFingerprintService.aidl +++ b/core/java/android/hardware/fingerprint/IFingerprintService.aidl @@ -19,7 +19,6 @@ import android.hardware.biometrics.IBiometricSensorReceiver; import android.hardware.biometrics.IBiometricServiceLockoutResetCallback; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.fingerprint.IFingerprintClientActiveCallback; import android.hardware.fingerprint.IFingerprintServiceReceiver; import android.hardware.fingerprint.IUdfpsOverlayController; @@ -34,7 +33,7 @@ import java.util.List; interface IFingerprintService { // Creates a test session with the specified sensorId - ITestSession createTestSession(int sensorId, ITestSessionCallback callback, String opPackageName); + ITestSession createTestSession(int sensorId, String opPackageName); // Requests a proto dump of the specified sensor byte[] dumpSensorServiceStateProto(int sensorId, boolean clearSchedulerBuffer); diff --git a/services/core/java/com/android/server/biometrics/AuthService.java b/services/core/java/com/android/server/biometrics/AuthService.java index e19745e5c578..b15a8869b22a 100644 --- a/services/core/java/com/android/server/biometrics/AuthService.java +++ b/services/core/java/com/android/server/biometrics/AuthService.java @@ -40,7 +40,6 @@ import android.hardware.biometrics.IBiometricService; import android.hardware.biometrics.IBiometricServiceReceiver; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.PromptInfo; import android.hardware.biometrics.SensorPropertiesInternal; import android.hardware.face.IFaceService; @@ -145,14 +144,13 @@ public class AuthService extends SystemService { private final class AuthServiceImpl extends IAuthService.Stub { @Override - public ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull String opPackageName) throws RemoteException { + public ITestSession createTestSession(int sensorId, @NonNull String opPackageName) + throws RemoteException { Utils.checkPermission(getContext(), TEST_BIOMETRIC); final long identity = Binder.clearCallingIdentity(); try { - return mInjector.getBiometricService() - .createTestSession(sensorId, callback, opPackageName); + return mInjector.getBiometricService().createTestSession(sensorId, opPackageName); } finally { Binder.restoreCallingIdentity(identity); } diff --git a/services/core/java/com/android/server/biometrics/BiometricService.java b/services/core/java/com/android/server/biometrics/BiometricService.java index 00a4e43f347d..614c5f1b65bf 100644 --- a/services/core/java/com/android/server/biometrics/BiometricService.java +++ b/services/core/java/com/android/server/biometrics/BiometricService.java @@ -44,7 +44,6 @@ import android.hardware.biometrics.IBiometricServiceReceiver; import android.hardware.biometrics.IBiometricSysuiReceiver; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.PromptInfo; import android.hardware.biometrics.SensorPropertiesInternal; import android.hardware.fingerprint.FingerprintManager; @@ -571,13 +570,13 @@ public class BiometricService extends SystemService { */ private final class BiometricServiceWrapper extends IBiometricService.Stub { @Override // Binder call - public ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull String opPackageName) throws RemoteException { + public ITestSession createTestSession(int sensorId, @NonNull String opPackageName) + throws RemoteException { checkInternalPermission(); for (BiometricSensor sensor : mSensors) { if (sensor.id == sensorId) { - return sensor.impl.createTestSession(callback, opPackageName); + return sensor.impl.createTestSession(opPackageName); } } diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceAuthenticator.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceAuthenticator.java index 06b049be4501..f37cf18a1320 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceAuthenticator.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceAuthenticator.java @@ -21,7 +21,6 @@ import android.hardware.biometrics.IBiometricAuthenticator; import android.hardware.biometrics.IBiometricSensorReceiver; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.SensorPropertiesInternal; import android.hardware.face.IFaceService; import android.os.IBinder; @@ -42,9 +41,8 @@ public final class FaceAuthenticator extends IBiometricAuthenticator.Stub { } @Override - public ITestSession createTestSession(@NonNull ITestSessionCallback callback, - @NonNull String opPackageName) throws RemoteException { - return mFaceService.createTestSession(mSensorId, callback, opPackageName); + public ITestSession createTestSession(@NonNull String opPackageName) throws RemoteException { + return mFaceService.createTestSession(mSensorId, opPackageName); } @Override diff --git a/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java b/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java index 6dbd590df851..b0433d67ff32 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/FaceService.java @@ -31,7 +31,6 @@ import android.hardware.biometrics.IBiometricService; import android.hardware.biometrics.IBiometricServiceLockoutResetCallback; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.face.IFace; import android.hardware.biometrics.face.SensorProps; import android.hardware.face.Face; @@ -134,8 +133,7 @@ public class FaceService extends SystemService implements BiometricServiceCallba */ private final class FaceServiceWrapper extends IFaceService.Stub { @Override - public ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull String opPackageName) { + public ITestSession createTestSession(int sensorId, @NonNull String opPackageName) { Utils.checkPermission(getContext(), USE_BIOMETRIC_INTERNAL); final ServiceProvider provider = getProviderForSensor(sensorId); @@ -145,7 +143,7 @@ public class FaceService extends SystemService implements BiometricServiceCallba return null; } - return provider.createTestSession(sensorId, callback, opPackageName); + return provider.createTestSession(sensorId, opPackageName); } @Override diff --git a/services/core/java/com/android/server/biometrics/sensors/face/ServiceProvider.java b/services/core/java/com/android/server/biometrics/sensors/face/ServiceProvider.java index 88edfbf12df1..0b522efb5bac 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/ServiceProvider.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/ServiceProvider.java @@ -20,7 +20,6 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.face.Face; import android.hardware.face.FaceManager; import android.hardware.face.FaceSensorPropertiesInternal; @@ -29,7 +28,6 @@ import android.os.IBinder; import android.os.NativeHandle; import android.util.proto.ProtoOutputStream; -import com.android.server.biometrics.sensors.BaseClientMonitor; import com.android.server.biometrics.sensors.ClientMonitorCallbackConverter; import com.android.server.biometrics.sensors.LockoutTracker; @@ -125,8 +123,7 @@ public interface ServiceProvider { void startPreparedClient(int sensorId, int cookie); - void scheduleInternalCleanup(int sensorId, int userId, - @Nullable BaseClientMonitor.Callback callback); + void scheduleInternalCleanup(int sensorId, int userId); void dumpProtoState(int sensorId, @NonNull ProtoOutputStream proto, boolean clearSchedulerBuffer); @@ -136,8 +133,7 @@ public interface ServiceProvider { void dumpInternal(int sensorId, @NonNull PrintWriter pw); @NonNull - ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull String opPackageName); + ITestSession createTestSession(int sensorId, @NonNull String opPackageName); void dumpHal(int sensorId, @NonNull FileDescriptor fd, @NonNull String[] args); } diff --git a/services/core/java/com/android/server/biometrics/sensors/face/aidl/BiometricTestSessionImpl.java b/services/core/java/com/android/server/biometrics/sensors/face/aidl/BiometricTestSessionImpl.java index e886be805b61..d2673d2969c9 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/aidl/BiometricTestSessionImpl.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/aidl/BiometricTestSessionImpl.java @@ -21,18 +21,15 @@ import static android.Manifest.permission.TEST_BIOMETRIC; import android.annotation.NonNull; import android.content.Context; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.face.AuthenticationFrame; import android.hardware.biometrics.face.BaseFrame; import android.hardware.face.Face; import android.hardware.face.IFaceServiceReceiver; import android.os.Binder; -import android.os.RemoteException; 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.face.FaceUtils; import java.util.HashSet; @@ -50,7 +47,6 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { @NonNull private final Context mContext; private final int mSensorId; - @NonNull private final ITestSessionCallback mCallback; @NonNull private final FaceProvider mProvider; @NonNull private final Sensor mSensor; @NonNull private final Set<Integer> mEnrollmentIds; @@ -124,11 +120,9 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { }; BiometricTestSessionImpl(@NonNull Context context, int sensorId, - @NonNull ITestSessionCallback callback, @NonNull FaceProvider provider, @NonNull Sensor sensor) { mContext = context; mSensorId = sensorId; - mCallback = callback; mProvider = provider; mSensor = sensor; mEnrollmentIds = new HashSet<>(); @@ -218,25 +212,6 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { public void cleanupInternalState(int userId) { Utils.checkPermission(mContext, TEST_BIOMETRIC); - mProvider.scheduleInternalCleanup(mSensorId, userId, new BaseClientMonitor.Callback() { - @Override - public void onClientStarted(@NonNull BaseClientMonitor clientMonitor) { - try { - mCallback.onCleanupStarted(clientMonitor.getTargetUserId()); - } catch (RemoteException e) { - Slog.e(TAG, "Remote exception", e); - } - } - - @Override - public void onClientFinished(@NonNull BaseClientMonitor clientMonitor, - boolean success) { - try { - mCallback.onCleanupFinished(clientMonitor.getTargetUserId()); - } catch (RemoteException e) { - Slog.e(TAG, "Remote exception", e); - } - } - }); + mProvider.scheduleInternalCleanup(mSensorId, userId); } } diff --git a/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceProvider.java b/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceProvider.java index 02e8e921ae73..dc2611f00635 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceProvider.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceProvider.java @@ -25,7 +25,6 @@ import android.content.Context; import android.content.pm.UserInfo; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.face.IFace; import android.hardware.biometrics.face.SensorProps; import android.hardware.face.Face; @@ -178,8 +177,7 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider { for (int i = 0; i < mSensors.size(); i++) { final int sensorId = mSensors.keyAt(i); scheduleLoadAuthenticatorIds(sensorId); - scheduleInternalCleanup(sensorId, ActivityManager.getCurrentUser(), - null /* callback */); + scheduleInternalCleanup(sensorId, ActivityManager.getCurrentUser()); } return mDaemon; @@ -564,8 +562,7 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider { } @Override - public void scheduleInternalCleanup(int sensorId, int userId, - @Nullable BaseClientMonitor.Callback callback) { + public void scheduleInternalCleanup(int sensorId, int userId) { mHandler.post(() -> { final IFace daemon = getHalInstance(); if (daemon == null) { @@ -586,7 +583,7 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider { FaceUtils.getInstance(sensorId), mSensors.get(sensorId).getAuthenticatorIds()); - mSensors.get(sensorId).getScheduler().scheduleClientMonitor(client, callback); + mSensors.get(sensorId).getScheduler().scheduleClientMonitor(client); } catch (RemoteException e) { Slog.e(getTag(), "Remote exception when scheduling internal cleanup", e); } @@ -649,9 +646,8 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider { @NonNull @Override - public ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull String opPackageName) { - return mSensors.get(sensorId).createTestSession(callback); + public ITestSession createTestSession(int sensorId, @NonNull String opPackageName) { + return mSensors.get(sensorId).createTestSession(); } @Override diff --git a/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java b/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java index 49a4aff7edb1..90aa4ad55613 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/aidl/Sensor.java @@ -22,7 +22,6 @@ import android.content.Context; import android.content.pm.UserInfo; import android.hardware.biometrics.BiometricsProtoEnums; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.face.AuthenticationFrame; import android.hardware.biometrics.face.EnrollmentFrame; import android.hardware.biometrics.face.Error; @@ -461,9 +460,8 @@ public class Sensor implements IBinder.DeathRecipient { } } - @NonNull ITestSession createTestSession(@NonNull ITestSessionCallback callback) { - return new BiometricTestSessionImpl(mContext, mSensorProperties.sensorId, callback, - mProvider, this); + @NonNull ITestSession createTestSession() { + return new BiometricTestSessionImpl(mContext, mSensorProperties.sensorId, mProvider, this); } void createNewSession(@NonNull IFace daemon, int sensorId, int userId) diff --git a/services/core/java/com/android/server/biometrics/sensors/face/hidl/BiometricTestSessionImpl.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/BiometricTestSessionImpl.java index 2c7b42d2e303..4142a52c9253 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/hidl/BiometricTestSessionImpl.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/BiometricTestSessionImpl.java @@ -21,15 +21,12 @@ import static android.Manifest.permission.TEST_BIOMETRIC; import android.annotation.NonNull; import android.content.Context; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.face.Face; import android.hardware.face.IFaceServiceReceiver; import android.os.Binder; -import android.os.RemoteException; import android.util.Slog; import com.android.server.biometrics.Utils; -import com.android.server.biometrics.sensors.BaseClientMonitor; import com.android.server.biometrics.sensors.face.FaceUtils; import java.util.ArrayList; @@ -44,7 +41,6 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { @NonNull private final Context mContext; private final int mSensorId; - @NonNull private final ITestSessionCallback mCallback; @NonNull private final Face10 mFace10; @NonNull private final Face10.HalResultController mHalResultController; @NonNull private final Set<Integer> mEnrollmentIds; @@ -112,12 +108,10 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { } }; - BiometricTestSessionImpl(@NonNull Context context, int sensorId, - @NonNull ITestSessionCallback callback, @NonNull Face10 face10, + BiometricTestSessionImpl(@NonNull Context context, int sensorId, @NonNull Face10 face10, @NonNull Face10.HalResultController halResultController) { mContext = context; mSensorId = sensorId; - mCallback = callback; mFace10 = face10; mHalResultController = halResultController; mEnrollmentIds = new HashSet<>(); @@ -195,25 +189,6 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { public void cleanupInternalState(int userId) { Utils.checkPermission(mContext, TEST_BIOMETRIC); - mFace10.scheduleInternalCleanup(mSensorId, userId, new BaseClientMonitor.Callback() { - @Override - public void onClientStarted(@NonNull BaseClientMonitor clientMonitor) { - try { - mCallback.onCleanupStarted(clientMonitor.getTargetUserId()); - } catch (RemoteException e) { - Slog.e(TAG, "Remote exception", e); - } - } - - @Override - public void onClientFinished(@NonNull BaseClientMonitor clientMonitor, - boolean success) { - try { - mCallback.onCleanupFinished(clientMonitor.getTargetUserId()); - } catch (RemoteException e) { - Slog.e(TAG, "Remote exception", e); - } - } - }); + mFace10.scheduleInternalCleanup(mSensorId, userId); } } diff --git a/services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java b/services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java index ee8823e041bc..298950fa325a 100644 --- a/services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java +++ b/services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java @@ -29,7 +29,6 @@ import android.hardware.biometrics.BiometricFaceConstants; import android.hardware.biometrics.BiometricManager; import android.hardware.biometrics.BiometricsProtoEnums; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.face.V1_0.IBiometricsFace; import android.hardware.biometrics.face.V1_0.IBiometricsFaceClientCallback; import android.hardware.face.Face; @@ -124,7 +123,7 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { private final UserSwitchObserver mUserSwitchObserver = new SynchronousUserSwitchObserver() { @Override public void onUserSwitching(int newUserId) { - scheduleInternalCleanup(newUserId, null /* callback */); + scheduleInternalCleanup(newUserId); scheduleGetFeature(mSensorId, new Binder(), newUserId, BiometricFaceConstants.FEATURE_REQUIRE_ATTENTION, null, mContext.getOpPackageName()); @@ -438,7 +437,7 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { Slog.d(TAG, "Face HAL ready, HAL ID: " + halId); if (halId != 0) { scheduleLoadAuthenticatorIds(); - scheduleInternalCleanup(ActivityManager.getCurrentUser(), null /* callback */); + scheduleInternalCleanup(ActivityManager.getCurrentUser()); scheduleGetFeature(mSensorId, new Binder(), ActivityManager.getCurrentUser(), BiometricFaceConstants.FEATURE_REQUIRE_ATTENTION, null, @@ -757,8 +756,7 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { }); } - private void scheduleInternalCleanup(int userId, - @Nullable BaseClientMonitor.Callback callback) { + private void scheduleInternalCleanup(int userId) { mHandler.post(() -> { scheduleUpdateActiveUserWithoutHandler(userId); @@ -766,14 +764,13 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { final FaceInternalCleanupClient client = new FaceInternalCleanupClient(mContext, mLazyDaemon, userId, mContext.getOpPackageName(), mSensorId, enrolledList, FaceUtils.getLegacyInstance(mSensorId), mAuthenticatorIds); - mScheduler.scheduleClientMonitor(client, callback); + mScheduler.scheduleClientMonitor(client); }); } @Override - public void scheduleInternalCleanup(int sensorId, int userId, - @Nullable BaseClientMonitor.Callback callback) { - scheduleInternalCleanup(userId, callback); + public void scheduleInternalCleanup(int sensorId, int userId) { + scheduleInternalCleanup(userId); } @Override @@ -947,9 +944,7 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { @NonNull @Override - public ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull String opPackageName) { - return new BiometricTestSessionImpl(mContext, mSensorId, callback, this, - mHalResultController); + public ITestSession createTestSession(int sensorId, @NonNull String opPackageName) { + return new BiometricTestSessionImpl(mContext, mSensorId, this, mHalResultController); } } diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintAuthenticator.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintAuthenticator.java index 32e9409de4b2..34a909908b5a 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintAuthenticator.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintAuthenticator.java @@ -21,7 +21,6 @@ import android.hardware.biometrics.IBiometricAuthenticator; import android.hardware.biometrics.IBiometricSensorReceiver; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.SensorPropertiesInternal; import android.hardware.fingerprint.IFingerprintService; import android.os.IBinder; @@ -43,9 +42,8 @@ public final class FingerprintAuthenticator extends IBiometricAuthenticator.Stub } @Override - public ITestSession createTestSession(@NonNull ITestSessionCallback callback, - @NonNull String opPackageName) throws RemoteException { - return mFingerprintService.createTestSession(mSensorId, callback, opPackageName); + public ITestSession createTestSession(@NonNull String opPackageName) throws RemoteException { + return mFingerprintService.createTestSession(mSensorId, opPackageName); } @Override 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 396dd5f42d4d..b302931b9961 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 @@ -43,7 +43,6 @@ import android.hardware.biometrics.IBiometricService; import android.hardware.biometrics.IBiometricServiceLockoutResetCallback; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.fingerprint.IFingerprint; import android.hardware.biometrics.fingerprint.SensorProps; import android.hardware.fingerprint.Fingerprint; @@ -110,8 +109,7 @@ public class FingerprintService extends SystemService implements BiometricServic */ private final class FingerprintServiceWrapper extends IFingerprintService.Stub { @Override - public ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull String opPackageName) { + public ITestSession createTestSession(int sensorId, @NonNull String opPackageName) { Utils.checkPermission(getContext(), TEST_BIOMETRIC); final ServiceProvider provider = getProviderForSensor(sensorId); @@ -121,7 +119,7 @@ public class FingerprintService extends SystemService implements BiometricServic return null; } - return provider.createTestSession(sensorId, callback, opPackageName); + return provider.createTestSession(sensorId, opPackageName); } @Override 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 dfec2e3e308f..8785070f0afa 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 @@ -20,7 +20,6 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.fingerprint.Fingerprint; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; @@ -29,7 +28,6 @@ import android.hardware.fingerprint.IUdfpsOverlayController; import android.os.IBinder; import android.util.proto.ProtoOutputStream; -import com.android.server.biometrics.sensors.BaseClientMonitor; import com.android.server.biometrics.sensors.ClientMonitorCallbackConverter; import com.android.server.biometrics.sensors.LockoutTracker; @@ -104,8 +102,7 @@ public interface ServiceProvider { @NonNull IFingerprintServiceReceiver receiver, int userId, @NonNull String opPackageName); - void scheduleInternalCleanup(int sensorId, int userId, - @Nullable BaseClientMonitor.Callback callback); + void scheduleInternalCleanup(int sensorId, int userId); boolean isHardwareDetected(int sensorId); @@ -140,6 +137,5 @@ public interface ServiceProvider { void dumpInternal(int sensorId, @NonNull PrintWriter pw); @NonNull - ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull String opPackageName); + ITestSession createTestSession(int sensorId, @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 20b32543f7a0..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 @@ -21,17 +21,14 @@ import static android.Manifest.permission.TEST_BIOMETRIC; import android.annotation.NonNull; import android.content.Context; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.fingerprint.Fingerprint; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.IFingerprintServiceReceiver; import android.os.Binder; -import android.os.RemoteException; 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.FingerprintUtils; import java.util.HashSet; @@ -49,7 +46,6 @@ class BiometricTestSessionImpl extends ITestSession.Stub { @NonNull private final Context mContext; private final int mSensorId; - @NonNull private final ITestSessionCallback mCallback; @NonNull private final FingerprintProvider mProvider; @NonNull private final Sensor mSensor; @NonNull private final Set<Integer> mEnrollmentIds; @@ -114,11 +110,9 @@ class BiometricTestSessionImpl extends ITestSession.Stub { }; BiometricTestSessionImpl(@NonNull Context context, int sensorId, - @NonNull ITestSessionCallback callback, @NonNull FingerprintProvider provider, - @NonNull Sensor sensor) { + @NonNull FingerprintProvider provider, @NonNull Sensor sensor) { mContext = context; mSensorId = sensorId; - mCallback = callback; mProvider = provider; mSensor = sensor; mEnrollmentIds = new HashSet<>(); @@ -198,25 +192,6 @@ class BiometricTestSessionImpl extends ITestSession.Stub { public void cleanupInternalState(int userId) { Utils.checkPermission(mContext, TEST_BIOMETRIC); - mProvider.scheduleInternalCleanup(mSensorId, userId, new BaseClientMonitor.Callback() { - @Override - public void onClientStarted(@NonNull BaseClientMonitor clientMonitor) { - try { - mCallback.onCleanupStarted(clientMonitor.getTargetUserId()); - } catch (RemoteException e) { - Slog.e(TAG, "Remote exception", e); - } - } - - @Override - public void onClientFinished(@NonNull BaseClientMonitor clientMonitor, - boolean success) { - try { - mCallback.onCleanupFinished(clientMonitor.getTargetUserId()); - } catch (RemoteException e) { - Slog.e(TAG, "Remote exception", e); - } - } - }); + mProvider.scheduleInternalCleanup(mSensorId, userId); } } 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 70161d679c1c..b53639d55889 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 @@ -25,7 +25,6 @@ import android.content.Context; import android.content.pm.UserInfo; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.fingerprint.IFingerprint; import android.hardware.biometrics.fingerprint.SensorProps; import android.hardware.fingerprint.Fingerprint; @@ -186,8 +185,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi for (int i = 0; i < mSensors.size(); i++) { final int sensorId = mSensors.keyAt(i); scheduleLoadAuthenticatorIds(sensorId); - scheduleInternalCleanup(sensorId, ActivityManager.getCurrentUser(), - null /* callback */); + scheduleInternalCleanup(sensorId, ActivityManager.getCurrentUser()); } return mDaemon; @@ -541,8 +539,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi } @Override - public void scheduleInternalCleanup(int sensorId, int userId, - @Nullable BaseClientMonitor.Callback callback) { + public void scheduleInternalCleanup(int sensorId, int userId) { mHandler.post(() -> { final IFingerprint daemon = getHalInstance(); if (daemon == null) { @@ -562,7 +559,7 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi mContext.getOpPackageName(), sensorId, enrolledList, FingerprintUtils.getInstance(sensorId), mSensors.get(sensorId).getAuthenticatorIds()); - mSensors.get(sensorId).getScheduler().scheduleClientMonitor(client, callback); + mSensors.get(sensorId).getScheduler().scheduleClientMonitor(client); } catch (RemoteException e) { Slog.e(getTag(), "Remote exception when scheduling internal cleanup", e); } @@ -707,9 +704,8 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi @NonNull @Override - public ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull String opPackageName) { - return mSensors.get(sensorId).createTestSession(callback); + public ITestSession createTestSession(int sensorId, @NonNull String opPackageName) { + return mSensors.get(sensorId).createTestSession(); } @Override 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 238b544e7a42..a4dcac794d35 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 @@ -22,7 +22,6 @@ import android.content.Context; import android.content.pm.UserInfo; import android.hardware.biometrics.BiometricsProtoEnums; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.fingerprint.Error; import android.hardware.biometrics.fingerprint.IFingerprint; import android.hardware.biometrics.fingerprint.ISession; @@ -441,9 +440,8 @@ class Sensor implements IBinder.DeathRecipient { } } - @NonNull ITestSession createTestSession(@NonNull ITestSessionCallback callback) { - return new BiometricTestSessionImpl(mContext, mSensorProperties.sensorId, callback, - mProvider, this); + @NonNull ITestSession createTestSession() { + return new BiometricTestSessionImpl(mContext, mSensorProperties.sensorId, mProvider, this); } void createNewSession(@NonNull IFingerprint daemon, int sensorId, int userId) 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 766a8829e968..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 @@ -21,16 +21,13 @@ import static android.Manifest.permission.TEST_BIOMETRIC; import android.annotation.NonNull; import android.content.Context; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.fingerprint.Fingerprint; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.IFingerprintServiceReceiver; import android.os.Binder; -import android.os.RemoteException; import android.util.Slog; import com.android.server.biometrics.Utils; -import com.android.server.biometrics.sensors.BaseClientMonitor; import com.android.server.biometrics.sensors.fingerprint.FingerprintUtils; import java.util.ArrayList; @@ -50,7 +47,6 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { @NonNull private final Context mContext; private final int mSensorId; - @NonNull private final ITestSessionCallback mCallback; @NonNull private final Fingerprint21 mFingerprint21; @NonNull private final Fingerprint21.HalResultController mHalResultController; @NonNull private final Set<Integer> mEnrollmentIds; @@ -115,12 +111,10 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { }; BiometricTestSessionImpl(@NonNull Context context, int sensorId, - @NonNull ITestSessionCallback callback, @NonNull Fingerprint21 fingerprint21, @NonNull Fingerprint21.HalResultController halResultController) { mContext = context; mSensorId = sensorId; - mCallback = callback; mFingerprint21 = fingerprint21; mHalResultController = halResultController; mEnrollmentIds = new HashSet<>(); @@ -197,25 +191,6 @@ public class BiometricTestSessionImpl extends ITestSession.Stub { public void cleanupInternalState(int userId) { Utils.checkPermission(mContext, TEST_BIOMETRIC); - mFingerprint21.scheduleInternalCleanup(mSensorId, userId, new BaseClientMonitor.Callback() { - @Override - public void onClientStarted(@NonNull BaseClientMonitor clientMonitor) { - try { - mCallback.onCleanupStarted(clientMonitor.getTargetUserId()); - } catch (RemoteException e) { - Slog.e(TAG, "Remote exception", e); - } - } - - @Override - public void onClientFinished(@NonNull BaseClientMonitor clientMonitor, - boolean success) { - try { - mCallback.onCleanupFinished(clientMonitor.getTargetUserId()); - } catch (RemoteException e) { - Slog.e(TAG, "Remote exception", e); - } - } - }); + mFingerprint21.scheduleInternalCleanup(mSensorId, userId); } } 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 22e760309966..453b951e1f3b 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 @@ -30,7 +30,6 @@ import android.hardware.biometrics.BiometricManager; import android.hardware.biometrics.BiometricsProtoEnums; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint; import android.hardware.biometrics.fingerprint.V2_2.IBiometricsFingerprintClientCallback; import android.hardware.fingerprint.Fingerprint; @@ -159,7 +158,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider private final UserSwitchObserver mUserSwitchObserver = new SynchronousUserSwitchObserver() { @Override public void onUserSwitching(int newUserId) { - scheduleInternalCleanup(newUserId, null /* callback */); + scheduleInternalCleanup(newUserId); } }; @@ -438,7 +437,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider Slog.d(TAG, "Fingerprint HAL ready, HAL ID: " + halId); if (halId != 0) { scheduleLoadAuthenticatorIds(); - scheduleInternalCleanup(ActivityManager.getCurrentUser(), null /* callback */); + scheduleInternalCleanup(ActivityManager.getCurrentUser()); } else { Slog.e(TAG, "Unable to set callback"); mDaemon = null; @@ -654,8 +653,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider }); } - private void scheduleInternalCleanup(int userId, - @Nullable BaseClientMonitor.Callback callback) { + private void scheduleInternalCleanup(int userId) { mHandler.post(() -> { scheduleUpdateActiveUserWithoutHandler(userId); @@ -665,14 +663,13 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider mContext, mLazyDaemon, userId, mContext.getOpPackageName(), mSensorProperties.sensorId, enrolledList, FingerprintUtils.getLegacyInstance(mSensorId), mAuthenticatorIds); - mScheduler.scheduleClientMonitor(client, callback); + mScheduler.scheduleClientMonitor(client); }); } @Override - public void scheduleInternalCleanup(int sensorId, int userId, - @Nullable BaseClientMonitor.Callback callback) { - scheduleInternalCleanup(userId, callback); + public void scheduleInternalCleanup(int sensorId, int userId) { + scheduleInternalCleanup(userId); } @Override @@ -852,9 +849,8 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider @NonNull @Override - public ITestSession createTestSession(int sensorId, @NonNull ITestSessionCallback callback, - @NonNull String opPackageName) { - return new BiometricTestSessionImpl(mContext, mSensorProperties.sensorId, callback, this, + public ITestSession createTestSession(int sensorId, @NonNull String opPackageName) { + return new BiometricTestSessionImpl(mContext, mSensorProperties.sensorId, this, mHalResultController); } } diff --git a/services/core/java/com/android/server/biometrics/sensors/iris/IrisAuthenticator.java b/services/core/java/com/android/server/biometrics/sensors/iris/IrisAuthenticator.java index f44e0691bb9d..8e84613b2d64 100644 --- a/services/core/java/com/android/server/biometrics/sensors/iris/IrisAuthenticator.java +++ b/services/core/java/com/android/server/biometrics/sensors/iris/IrisAuthenticator.java @@ -21,7 +21,6 @@ import android.hardware.biometrics.IBiometricAuthenticator; import android.hardware.biometrics.IBiometricSensorReceiver; import android.hardware.biometrics.IInvalidationCallback; import android.hardware.biometrics.ITestSession; -import android.hardware.biometrics.ITestSessionCallback; import android.hardware.biometrics.SensorPropertiesInternal; import android.hardware.iris.IIrisService; import android.os.IBinder; @@ -40,8 +39,7 @@ public final class IrisAuthenticator extends IBiometricAuthenticator.Stub { } @Override - public ITestSession createTestSession(@NonNull ITestSessionCallback callback, - @NonNull String opPackageName) throws RemoteException { + public ITestSession createTestSession(@NonNull String opPackageName) throws RemoteException { return null; } |