1/* 2 * Copyright (C) 2022 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17syntax = "proto2"; 18 19package android.os.statsd.hardware.biometrics; 20 21option java_package = "com.android.os.hardware.biometrics"; 22option java_multiple_files = true; 23 24import "frameworks/proto_logging/stats/enums/hardware/biometrics/enums.proto"; 25 26/** 27 * Dogfood only. 28 * Reported once per touch event during fingerprint authentication and enrollment. 29 * Used for finger placement analysis and tuning of the finger detection algorithms. 30 */ 31message BiometricTouchReported { 32 33// Type of triggering touch event. 34optional android.hardware.biometrics.TouchTypeEnum touch_type = 1; 35 36// Opaque identifier of the touch processor configuration. 37optional int32 touch_config_id = 2; 38 39// Android T+ sessionization ID. 40optional int32 session_id = 3; 41 42// X coordinate of the touch. In pixels. In the coordinate space of the display in its natural 43// orientation and native resolution. 44optional float x = 4; 45 46// Y coordinate of the touch. In pixels. In the coordinate space of the display in its natural 47// orientation and native resolution. 48optional float y = 5; 49 50// The length of the minor axis of an ellipse that describes the touch area at the point of contact. 51// In pixels in the coordinate space of the display in its native resolution. 52optional float minor = 6; 53 54// The length of the major axis of an ellipse that describes the touch area at the point of contact. 55// In pixels in the coordinate space of the display in its native resolution. 56optional float major = 7; 57 58// Orientation of the touch area in radians clockwise from vertical. 59// Relative to the natural orientation of the display. 60optional float orientation = 8; 61 62// The time when this touch was detected, in milliseconds since the system was booted. 63optional int64 time = 9; 64 65// The time when the first touch in this gesture was detected, in milliseconds since the system was 66// booted. 67optional int64 gesture_start = 10; 68 69// Whether the Always-On Display (AOD) mode was active when the touch was detected. 70optional bool is_aod = 11; 71} 72 73/** 74 * Logs biometric sensor properties when boot completed. 75 * 76 * Pushed from: 77 * frameworks/base/services/core/java/com/android/server/BinaryTransparencyService.java 78 */ 79message BiometricPropertiesCollected { 80 // The ID of the biometric sensor whose properties are being collected. 81 optional int32 sensor_id = 1; 82 83 // The biometric modality of the sensor (i.e. face, fingerprint, iris). 84 optional android.hardware.biometrics.ModalityEnum modality = 2; 85 86 // The specific type of the sensor. 87 optional android.hardware.biometrics.SensorTypeEnum sensor_type = 3; 88 89 // The biometric strength of the sensor. 90 optional android.hardware.biometrics.StrengthEnum sensor_strength = 4; 91 92 // The following is a list of component information for the subsystems that 93 // pertain to the sensor. None of the component info is a device identifier 94 // since every device of a given model and build share the same info. 95 // An identifier uniquely identifying a subsystem. It must not be an empty 96 // string. 97 optional string component_info_component_id = 5; 98 99 // The hardware version of a biometric subsystem. For example, 100 // <vendor>/<model>/<revision>. If there is no hardware version for this 101 // component, it must be empty. 102 optional string component_info_hardware_version = 6; 103 104 // The firmware version of a biometric subsystem. If there's no firmware 105 // version for this component, it must be empty. 106 optional string component_info_firmware_version = 7; 107 108 // The serial number of a biometric subsystem. If there's no serial number 109 // for this component, it must be empty. 110 optional string component_info_serial_number = 8; 111 112 // The software version of a biometric subsystem. For example, 113 // <vendor>/<version>/<revision>. If there's no software version for this 114 // component, it must be empty. 115 optional string component_info_software_version = 9; 116} 117 118