blob: ec2b92bf7e1422e7af0ad50ba5e4c423e3229976 [file] [log] [blame]
Joshua McCloskeydb009a52022-05-10 05:18:20 +00001# face.sysprop
2# module becomes static class (Java) / namespace (C++) for serving API
3module: "android.face.virt.FaceHalProperties"
4owner: Vendor
5
6# type of face sensor
7prop {
8 prop_name: "persist.vendor.face.virtual.type"
9 type: String
Jeff Pua3c57362024-06-10 15:03:50 +000010 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +000011 access: ReadWrite
12 enum_values: "IR|RGB"
13 api_name: "type"
14}
15
16# the strength of the sensor
17prop {
18 prop_name: "persist.vendor.face.virtual.strength"
19 type: String
Jeff Pua3c57362024-06-10 15:03:50 +000020 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +000021 access: ReadWrite
22 enum_values: "convenience|weak|strong"
23 api_name: "strength"
24}
25
26# ids of current enrollments
27prop {
28 prop_name: "persist.vendor.face.virtual.enrollments"
29 type: IntegerList
Jeff Pua3c57362024-06-10 15:03:50 +000030 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +000031 access: ReadWrite
32 api_name: "enrollments"
33}
34
35# List of features
36prop {
37 prop_name: "persist.vendor.face.virtual.features"
38 type: IntegerList
Jeff Pua3c57362024-06-10 15:03:50 +000039 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +000040 access: ReadWrite
41 api_name: "features"
42}
43
44# authenticate and detectInteraction will succeed with this
45# enrollment id, when present, otherwise they will error
46prop {
47 prop_name: "vendor.face.virtual.enrollment_hit"
48 type: Integer
Jeff Pua3c57362024-06-10 15:03:50 +000049 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +000050 access: ReadWrite
51 api_name: "enrollment_hit"
52}
53
Joshua McCloskeydb009a52022-05-10 05:18:20 +000054# the next enrollment in the format:
55# "<id>,<bucket_id>:<delay>:<succeeds>,<bucket_id>..."
56# for example: "0:1,0:100:1,1:200:1" indicating that bucket 0 took
57# 50 milliseconds, bucket 1 took 100 milliseconds, bucket 2 took 200 milliseconds.
58# Note that it is up to the configuration to determine how many buckets are required
59# to complete an enrollment
60prop {
61 prop_name: "vendor.face.virtual.next_enrollment"
62 type: String
Jeff Pua3c57362024-06-10 15:03:50 +000063 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +000064 access: ReadWrite
65 api_name: "next_enrollment"
66}
67
68# value for getAuthenticatorId or 0
69prop {
70 prop_name: "vendor.face.virtual.authenticator_id"
71 type: Long
Jeff Pua3c57362024-06-10 15:03:50 +000072 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +000073 access: ReadWrite
74 api_name: "authenticator_id"
75}
76
77# value for generateChallenge
78prop {
79 prop_name: "vendor.face.virtual.challenge"
80 type: Long
Jeff Pua3c57362024-06-10 15:03:50 +000081 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +000082 access: ReadWrite
83 api_name: "challenge"
84}
85
Jeff Pu3e7448d2023-12-07 17:25:22 +000086# if forced to lock out (Default to false)
Joshua McCloskeydb009a52022-05-10 05:18:20 +000087prop {
88 prop_name: "vendor.face.virtual.lockout"
89 type: Boolean
Jeff Pua3c57362024-06-10 15:03:50 +000090 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +000091 access: ReadWrite
92 api_name: "lockout"
93}
94
95# force all authenticate operations to fail
96prop {
97 prop_name: "vendor.face.virtual.operation_authenticate_fails"
98 type: Boolean
Jeff Pua3c57362024-06-10 15:03:50 +000099 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000100 access: ReadWrite
101 api_name: "operation_authenticate_fails"
102}
103
104# force all detectInteraction operations to fail
105prop {
106 prop_name: "vendor.face.virtual.operation_detect_interaction_fails"
107 type: Boolean
Jeff Pua3c57362024-06-10 15:03:50 +0000108 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000109 access: ReadWrite
110 api_name: "operation_detect_interaction_fails"
111}
112
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000113# add a latency to authentication operations
114# Note that this latency is the initial authentication latency that occurs before
115# the HAL will send AcquiredInfo::START and AcquiredInfo::FIRST_FRAME_RECEIVED
116prop {
117 prop_name: "vendor.face.virtual.operation_authenticate_latency"
Jeff Pu4aca35e2024-01-04 22:40:33 +0000118 type: IntegerList
Jeff Pua3c57362024-06-10 15:03:50 +0000119 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000120 access: ReadWrite
121 api_name: "operation_authenticate_latency"
122}
123
124# add a latency to detectInteraction operations
125prop {
126 prop_name: "vendor.face.virtual.operation_detect_interaction_latency"
Jeff Pu4aca35e2024-01-04 22:40:33 +0000127 type: IntegerList
Jeff Pua3c57362024-06-10 15:03:50 +0000128 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000129 access: ReadWrite
130 api_name: "operation_detect_interaction_latency"
131}
132
Jeff Pu4aca35e2024-01-04 22:40:33 +0000133# add a latency to enroll operations
134prop {
135 prop_name: "vendor.face.virtual.operation_enroll_latency"
136 type: IntegerList
Jeff Pua3c57362024-06-10 15:03:50 +0000137 scope: Public
Jeff Pu4aca35e2024-01-04 22:40:33 +0000138 access: ReadWrite
139 api_name: "operation_enroll_latency"
140}
141
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000142# millisecond duration for authenticate operations
143# (waits for changes to enrollment_hit)
144prop {
145 prop_name: "vendor.face.virtual.operation_authenticate_duration"
146 type: Integer
Jeff Pua3c57362024-06-10 15:03:50 +0000147 scope: Public
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000148 access: ReadWrite
149 api_name: "operation_authenticate_duration"
150}
Jeff Pu484d2e72023-09-25 15:11:19 +0000151
152# insert error for authenticate operations
153prop {
154 prop_name: "vendor.face.virtual.operation_authenticate_error"
155 type: Integer
Jeff Pua3c57362024-06-10 15:03:50 +0000156 scope: Public
Jeff Pu484d2e72023-09-25 15:11:19 +0000157 access: ReadWrite
158 api_name: "operation_authenticate_error"
159}
160
161# acquired info during authentication in format of sequence
162prop {
163 prop_name: "vendor.face.virtual.operation_authenticate_acquired"
164 type: String
Jeff Pua3c57362024-06-10 15:03:50 +0000165 scope: Public
Jeff Pu484d2e72023-09-25 15:11:19 +0000166 access: ReadWrite
167 api_name: "operation_authenticate_acquired"
168}
169
Jeff Pu3e7448d2023-12-07 17:25:22 +0000170# whether support lockout based on the failed auth attempts (default: false)
171prop {
172 prop_name: "persist.vendor.face.virtual.lockout_enable"
173 type: Boolean
Jeff Pua3c57362024-06-10 15:03:50 +0000174 scope: Public
Jeff Pu3e7448d2023-12-07 17:25:22 +0000175 access: ReadWrite
176 api_name: "lockout_enable"
177}
178
179# whether support timed_lockout based on the failed auth attempts (default: false)
180prop {
181 prop_name: "persist.vendor.face.virtual.lockout_timed_enable"
182 type: Boolean
Jeff Pua3c57362024-06-10 15:03:50 +0000183 scope: Public
Jeff Pu3e7448d2023-12-07 17:25:22 +0000184 access: ReadWrite
185 api_name: "lockout_timed_enable"
186}
187
188# temperory lockout threshold in number of consecutive failed auth attempts
189prop {
190 prop_name: "persist.vendor.face.virtual.lockout_timed_threshold"
191 type: Integer
Jeff Pua3c57362024-06-10 15:03:50 +0000192 scope: Public
Jeff Pu3e7448d2023-12-07 17:25:22 +0000193 access: ReadWrite
194 api_name: "lockout_timed_threshold"
195}
196
197# temporary lockout duration in ms (default: 10000ms)
198prop {
199 prop_name: "persist.vendor.face.virtual.lockout_timed_duration"
200 type: Integer
Jeff Pua3c57362024-06-10 15:03:50 +0000201 scope: Public
Jeff Pu3e7448d2023-12-07 17:25:22 +0000202 access: ReadWrite
203 api_name: "lockout_timed_duration"
204}
205
206# permanently lockout threshold in number of consecutive failed auth attempts
207prop {
208 prop_name: "persist.vendor.face.virtual.lockout_permanent_threshold"
209 type: Integer
Jeff Pua3c57362024-06-10 15:03:50 +0000210 scope: Public
Jeff Pu3e7448d2023-12-07 17:25:22 +0000211 access: ReadWrite
212 api_name: "lockout_permanent_threshold"
213}