summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorKevin Chyn <kchyn@google.com>2021-03-29 23:06:03 -0700
committerKevin Chyn <kchyn@google.com>2021-03-29 23:06:03 -0700
commit15e1d3f7e73dad463c19c7a9275c2ec0ec088326 (patch)
treed8423047bf1456a638a0350ade0cf49adb5ccec7 /core/java
parent17681607d9e16d2e386ba915718560746439edee (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')
-rw-r--r--core/java/android/hardware/face/FaceManager.java6
-rw-r--r--core/java/android/hardware/face/FaceServiceReceiver.java97
-rw-r--r--core/java/android/hardware/fingerprint/FingerprintManager.java2
-rw-r--r--core/java/android/hardware/fingerprint/FingerprintServiceReceiver.java77
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 {
+
+ }
+}