summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/biometrics/sensors/face/FaceService.java8
-rw-r--r--services/core/java/com/android/server/biometrics/sensors/face/ServiceProvider.java2
-rw-r--r--services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceProvider.java3
-rw-r--r--services/core/java/com/android/server/biometrics/sensors/face/hidl/Face10.java5
4 files changed, 17 insertions, 1 deletions
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 4906aacd06c0..47897a1a0588 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
@@ -64,6 +64,7 @@ import com.android.server.biometrics.sensors.face.hidl.Face10;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -425,6 +426,13 @@ public class FaceService extends SystemService implements BiometricServiceCallba
provider.dumpProtoMetrics(props.sensorId, fd);
}
}
+ } else if (args.length > 1 && "--hal".equals(args[0])) {
+ for (ServiceProvider provider : mServiceProviders) {
+ for (FaceSensorPropertiesInternal props : provider.getSensorProperties()) {
+ provider.dumpHal(props.sensorId, fd,
+ Arrays.copyOfRange(args, 1, args.length, args.getClass()));
+ }
+ }
} else {
for (ServiceProvider provider : mServiceProviders) {
for (FaceSensorPropertiesInternal props : provider.getSensorProperties()) {
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 d1578fa7bbf3..be4e2482acc9 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
@@ -118,4 +118,6 @@ public interface ServiceProvider {
@NonNull
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/FaceProvider.java b/services/core/java/com/android/server/biometrics/sensors/face/aidl/FaceProvider.java
index 01c16fd1f4a6..3904b2d61202 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
@@ -580,6 +580,9 @@ public class FaceProvider implements IBinder.DeathRecipient, ServiceProvider {
}
@Override
+ public void dumpHal(int sensorId, @NonNull FileDescriptor fd, @NonNull String[] args) {}
+
+ @Override
public void binderDied() {
Slog.e(getTag(), "HAL died");
mHandler.post(() -> {
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 27ca33de415d..e159d0681cd5 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
@@ -874,7 +874,10 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider {
});
}
- public void dumpHal(@NonNull FileDescriptor fd, @NonNull String[] args) {
+ /**
+ * Sends a debug message to the HAL with the provided FileDescriptor and arguments.
+ */
+ public void dumpHal(int sensorId, @NonNull FileDescriptor fd, @NonNull String[] args) {
// WARNING: CDD restricts image data from leaving TEE unencrypted on
// production devices:
// [C-1-10] MUST not allow unencrypted access to identifiable biometric