blob: 997fd671ac6b8e1dddd4cf1dcdd7051718782715 [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 Pu4aca35e2024-01-04 22:40:33 +000010 scope: Internal
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 Pu4aca35e2024-01-04 22:40:33 +000020 scope: Internal
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 Pu4aca35e2024-01-04 22:40:33 +000030 scope: Internal
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 Pu4aca35e2024-01-04 22:40:33 +000039 scope: Internal
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 Pu4aca35e2024-01-04 22:40:33 +000049 scope: Internal
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 Pu4aca35e2024-01-04 22:40:33 +000063 scope: Internal
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 Pu4aca35e2024-01-04 22:40:33 +000072 scope: Internal
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 Pu4aca35e2024-01-04 22:40:33 +000081 scope: Internal
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 Pu4aca35e2024-01-04 22:40:33 +000090 scope: Internal
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 Pu4aca35e2024-01-04 22:40:33 +000099 scope: Internal
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 Pu4aca35e2024-01-04 22:40:33 +0000108 scope: Internal
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000109 access: ReadWrite
110 api_name: "operation_detect_interaction_fails"
111}
112
113# force all enroll operations to fail
114prop {
115 prop_name: "vendor.face.virtual.operation_enroll_fails"
116 type: Boolean
Jeff Pu4aca35e2024-01-04 22:40:33 +0000117 scope: Internal
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000118 access: ReadWrite
119 api_name: "operation_enroll_fails"
120}
121
122# add a latency to authentication operations
123# Note that this latency is the initial authentication latency that occurs before
124# the HAL will send AcquiredInfo::START and AcquiredInfo::FIRST_FRAME_RECEIVED
125prop {
126 prop_name: "vendor.face.virtual.operation_authenticate_latency"
Jeff Pu4aca35e2024-01-04 22:40:33 +0000127 type: IntegerList
128 scope: Internal
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000129 access: ReadWrite
130 api_name: "operation_authenticate_latency"
131}
132
133# add a latency to detectInteraction operations
134prop {
135 prop_name: "vendor.face.virtual.operation_detect_interaction_latency"
Jeff Pu4aca35e2024-01-04 22:40:33 +0000136 type: IntegerList
137 scope: Internal
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000138 access: ReadWrite
139 api_name: "operation_detect_interaction_latency"
140}
141
Jeff Pu4aca35e2024-01-04 22:40:33 +0000142# add a latency to enroll operations
143prop {
144 prop_name: "vendor.face.virtual.operation_enroll_latency"
145 type: IntegerList
146 scope: Internal
147 access: ReadWrite
148 api_name: "operation_enroll_latency"
149}
150
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000151# millisecond duration for authenticate operations
152# (waits for changes to enrollment_hit)
153prop {
154 prop_name: "vendor.face.virtual.operation_authenticate_duration"
155 type: Integer
Jeff Pu4aca35e2024-01-04 22:40:33 +0000156 scope: Internal
Joshua McCloskeydb009a52022-05-10 05:18:20 +0000157 access: ReadWrite
158 api_name: "operation_authenticate_duration"
159}
Jeff Pu484d2e72023-09-25 15:11:19 +0000160
161# insert error for authenticate operations
162prop {
163 prop_name: "vendor.face.virtual.operation_authenticate_error"
164 type: Integer
165 scope: Internal
166 access: ReadWrite
167 api_name: "operation_authenticate_error"
168}
169
170# acquired info during authentication in format of sequence
171prop {
172 prop_name: "vendor.face.virtual.operation_authenticate_acquired"
173 type: String
174 scope: Internal
175 access: ReadWrite
176 api_name: "operation_authenticate_acquired"
177}
178
Jeff Pu3e7448d2023-12-07 17:25:22 +0000179# whether support lockout based on the failed auth attempts (default: false)
180prop {
181 prop_name: "persist.vendor.face.virtual.lockout_enable"
182 type: Boolean
183 scope: Internal
184 access: ReadWrite
185 api_name: "lockout_enable"
186}
187
188# whether support timed_lockout based on the failed auth attempts (default: false)
189prop {
190 prop_name: "persist.vendor.face.virtual.lockout_timed_enable"
191 type: Boolean
192 scope: Internal
193 access: ReadWrite
194 api_name: "lockout_timed_enable"
195}
196
197# temperory lockout threshold in number of consecutive failed auth attempts
198prop {
199 prop_name: "persist.vendor.face.virtual.lockout_timed_threshold"
200 type: Integer
201 scope: Internal
202 access: ReadWrite
203 api_name: "lockout_timed_threshold"
204}
205
206# temporary lockout duration in ms (default: 10000ms)
207prop {
208 prop_name: "persist.vendor.face.virtual.lockout_timed_duration"
209 type: Integer
210 scope: Internal
211 access: ReadWrite
212 api_name: "lockout_timed_duration"
213}
214
215# permanently lockout threshold in number of consecutive failed auth attempts
216prop {
217 prop_name: "persist.vendor.face.virtual.lockout_permanent_threshold"
218 type: Integer
219 scope: Internal
220 access: ReadWrite
221 api_name: "lockout_permanent_threshold"
222}