From 08dbb4b9c41384f594ab600aecee5983c8240007 Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Tue, 12 Jan 2021 12:40:57 -0800 Subject: [PATCH] Add biometric modality to dumpsys Bug: 177343709 Test: atest CtsBiometricsTestCases Change-Id: Ic69f9ddb5dc145d1e83fe7488ac9b0e43ab5f45a --- core/proto/android/server/biometrics.proto | 13 +++++++++++-- .../server/biometrics/sensors/face/aidl/Sensor.java | 1 + .../server/biometrics/sensors/face/hidl/Face10.java | 1 + .../biometrics/sensors/fingerprint/aidl/Sensor.java | 1 + .../sensors/fingerprint/hidl/Fingerprint21.java | 1 + 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/core/proto/android/server/biometrics.proto b/core/proto/android/server/biometrics.proto index 632c1e5d419ed..14b5c52acce4c 100644 --- a/core/proto/android/server/biometrics.proto +++ b/core/proto/android/server/biometrics.proto @@ -106,16 +106,25 @@ message SensorServiceStateProto { // State of a single sensor. message SensorStateProto { + enum Modality { + UNKNOWN = 0; + FINGERPRINT = 1; + FACE = 2; + IRIS = 3; + } + option (.android.msg_privacy).dest = DEST_AUTOMATIC; // Unique sensorId optional int32 sensor_id = 1; + optional Modality modality = 2; + // State of the sensor's scheduler. True if currently handling an operation, false if idle. - optional bool is_busy = 2; + optional bool is_busy = 3; // User states for this sensor. - repeated UserStateProto user_states = 3; + repeated UserStateProto user_states = 4; } // State of a specific user for a specific sensor. 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 d9d473722fd53..d8a0867f899e5 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 @@ -460,6 +460,7 @@ public class Sensor implements IBinder.DeathRecipient { final long sensorToken = proto.start(SensorServiceStateProto.SENSOR_STATES); proto.write(SensorStateProto.SENSOR_ID, mSensorProperties.sensorId); + proto.write(SensorStateProto.MODALITY, SensorStateProto.FACE); proto.write(SensorStateProto.IS_BUSY, mScheduler.getCurrentClient() != null); for (UserInfo user : UserManager.get(mContext).getUsers()) { 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 c4e4d1fe0f823..10b12cb22e85d 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 @@ -770,6 +770,7 @@ public class Face10 implements IHwBinder.DeathRecipient, ServiceProvider { final long sensorToken = proto.start(SensorServiceStateProto.SENSOR_STATES); proto.write(SensorStateProto.SENSOR_ID, mSensorProperties.sensorId); + proto.write(SensorStateProto.MODALITY, SensorStateProto.FACE); proto.write(SensorStateProto.IS_BUSY, mScheduler.getCurrentClient() != null); for (UserInfo user : UserManager.get(mContext).getUsers()) { 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 ecb998594d44b..09d8296e7bb58 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 @@ -473,6 +473,7 @@ class Sensor implements IBinder.DeathRecipient { final long sensorToken = proto.start(SensorServiceStateProto.SENSOR_STATES); proto.write(SensorStateProto.SENSOR_ID, mSensorProperties.sensorId); + proto.write(SensorStateProto.MODALITY, SensorStateProto.FINGERPRINT); proto.write(SensorStateProto.IS_BUSY, mScheduler.getCurrentClient() != null); for (UserInfo user : UserManager.get(mContext).getUsers()) { 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 f5ce8943c1882..7989e6e43d7e8 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 @@ -716,6 +716,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider final long sensorToken = proto.start(SensorServiceStateProto.SENSOR_STATES); proto.write(SensorStateProto.SENSOR_ID, mSensorProperties.sensorId); + proto.write(SensorStateProto.MODALITY, SensorStateProto.FINGERPRINT); proto.write(SensorStateProto.IS_BUSY, mScheduler.getCurrentClient() != null); for (UserInfo user : UserManager.get(mContext).getUsers()) {