diff options
| author | Kevin Chyn <kchyn@google.com> | 2021-03-29 23:06:03 -0700 |
|---|---|---|
| committer | Kevin Chyn <kchyn@google.com> | 2021-03-29 23:06:03 -0700 |
| commit | 15e1d3f7e73dad463c19c7a9275c2ec0ec088326 (patch) | |
| tree | d8423047bf1456a638a0350ade0cf49adb5ccec7 /core/java | |
| parent | 17681607d9e16d2e386ba915718560746439edee (diff) | |
Update removeAll path
1) Make the resulting face/fingerprint can be @Nullable. Not all
removal callers care about the template that was removed, just
that they were all removed.
2) FingerprintService/FaceService should wait for all providers to
finish removing before notifying the upper layer of completion
Fixes: 183758063
Test: atest CtsBiometricsTestCases, notice
testLockoutResetRequestedAfterCredentialUnlock finishes
10 seconds quicker now (latch in LSS doesn't time out anymore)
Change-Id: I87c50ccf5524fd5440c9a6c2c7a0fd4cc61e684d
Diffstat (limited to 'core/java')
4 files changed, 176 insertions, 6 deletions
diff --git a/core/java/android/hardware/face/FaceManager.java b/core/java/android/hardware/face/FaceManager.java index 8dc8d5b60943..13e2700b3f54 100644 --- a/core/java/android/hardware/face/FaceManager.java +++ b/core/java/android/hardware/face/FaceManager.java @@ -1059,7 +1059,7 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan * * @param face The face template that was removed. */ - public void onRemovalSucceeded(Face face, int remaining) { + public void onRemovalSucceeded(@Nullable Face face, int remaining) { } } @@ -1258,10 +1258,6 @@ public class FaceManager implements BiometricAuthenticator, BiometricFaceConstan if (mRemovalCallback == null) { return; } - if (face == null) { - Slog.e(TAG, "Received MSG_REMOVED, but face is null"); - return; - } mRemovalCallback.onRemovalSucceeded(face, remaining); } diff --git a/core/java/android/hardware/face/FaceServiceReceiver.java b/core/java/android/hardware/face/FaceServiceReceiver.java new file mode 100644 index 000000000000..f0f975dcea57 --- /dev/null +++ b/core/java/android/hardware/face/FaceServiceReceiver.java @@ -0,0 +1,97 @@ +/* + * 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 android.hardware.face; + +import android.os.RemoteException; + +/** + * Provides default methods for callers who only need a subset of the functionality. + * @hide + */ +public class FaceServiceReceiver extends IFaceServiceReceiver.Stub { + @Override + public void onEnrollResult(Face face, int remaining) throws RemoteException { + + } + + @Override + public void onAcquired(int acquiredInfo, int vendorCode) throws RemoteException { + + } + + @Override + public void onAuthenticationSucceeded(Face face, int userId, boolean isStrongBiometric) + throws RemoteException { + + } + + @Override + public void onFaceDetected(int sensorId, int userId, boolean isStrongBiometric) + throws RemoteException { + + } + + @Override + public void onAuthenticationFailed() throws RemoteException { + + } + + @Override + public void onError(int error, int vendorCode) throws RemoteException { + + } + + @Override + public void onRemoved(Face face, int remaining) throws RemoteException { + + } + + @Override + public void onFeatureSet(boolean success, int feature) throws RemoteException { + + } + + @Override + public void onFeatureGet(boolean success, int feature, boolean value) throws RemoteException { + + } + + @Override + public void onChallengeGenerated(int sensorId, long challenge) throws RemoteException { + + } + + @Override + public void onChallengeInterrupted(int sensorId) throws RemoteException { + + } + + @Override + public void onChallengeInterruptFinished(int sensorId) throws RemoteException { + + } + + @Override + public void onAuthenticationFrame(FaceAuthenticationFrame frame) throws RemoteException { + + } + + @Override + public void onEnrollmentFrame(FaceEnrollFrame frame) throws RemoteException { + + } +} diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java index 1c33b26dfa18..7b6e1299e8e1 100644 --- a/core/java/android/hardware/fingerprint/FingerprintManager.java +++ b/core/java/android/hardware/fingerprint/FingerprintManager.java @@ -452,7 +452,7 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing * {@link #remove} is called on a group, this should be the number of remaining * fingerprints in the group, and 0 after the last fingerprint is removed. */ - public void onRemovalSucceeded(Fingerprint fp, int remaining) { } + public void onRemovalSucceeded(@Nullable Fingerprint fp, int remaining) { } } /** diff --git a/core/java/android/hardware/fingerprint/FingerprintServiceReceiver.java b/core/java/android/hardware/fingerprint/FingerprintServiceReceiver.java new file mode 100644 index 000000000000..798e87beb52a --- /dev/null +++ b/core/java/android/hardware/fingerprint/FingerprintServiceReceiver.java @@ -0,0 +1,77 @@ +/* + * 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 android.hardware.fingerprint; + +import android.os.RemoteException; + +/** + * Provides default methods for callers who only need a subset of the functionality. + * @hide + */ +public class FingerprintServiceReceiver extends IFingerprintServiceReceiver.Stub { + @Override + public void onEnrollResult(Fingerprint fp, int remaining) throws RemoteException { + + } + + @Override + public void onAcquired(int acquiredInfo, int vendorCode) throws RemoteException { + + } + + @Override + public void onAuthenticationSucceeded(Fingerprint fp, int userId, boolean isStrongBiometric) + throws RemoteException { + + } + + @Override + public void onFingerprintDetected(int sensorId, int userId, boolean isStrongBiometric) + throws RemoteException { + + } + + @Override + public void onAuthenticationFailed() throws RemoteException { + + } + + @Override + public void onError(int error, int vendorCode) throws RemoteException { + + } + + @Override + public void onRemoved(Fingerprint fp, int remaining) throws RemoteException { + + } + + @Override + public void onChallengeGenerated(int sensorId, long challenge) throws RemoteException { + + } + + @Override + public void onUdfpsPointerDown(int sensorId) throws RemoteException { + + } + + @Override + public void onUdfpsPointerUp(int sensorId) throws RemoteException { + + } +} |
