blob: 95b0b43ca7df61dd905434f334066761cae3169d [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
10 scope: Public
11 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
20 scope: Public
21 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
30 scope: Public
31 access: ReadWrite
32 api_name: "enrollments"
33}
34
35# List of features
36prop {
37 prop_name: "persist.vendor.face.virtual.features"
38 type: IntegerList
39 scope: Public
40 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
49 scope: Public
50 access: ReadWrite
51 api_name: "enrollment_hit"
52}
53
54# The initial latency for enrollment
55prop {
56 prop_name: "vendor.face.virtual.operation_start_enroll_latency"
57 type: Integer
58 scope: Public
59 access: ReadWrite
60 api_name: "operation_start_enroll_latency"
61}
62
63# the next enrollment in the format:
64# "<id>,<bucket_id>:<delay>:<succeeds>,<bucket_id>..."
65# for example: "0:1,0:100:1,1:200:1" indicating that bucket 0 took
66# 50 milliseconds, bucket 1 took 100 milliseconds, bucket 2 took 200 milliseconds.
67# Note that it is up to the configuration to determine how many buckets are required
68# to complete an enrollment
69prop {
70 prop_name: "vendor.face.virtual.next_enrollment"
71 type: String
72 scope: Public
73 access: ReadWrite
74 api_name: "next_enrollment"
75}
76
77# value for getAuthenticatorId or 0
78prop {
79 prop_name: "vendor.face.virtual.authenticator_id"
80 type: Long
81 scope: Public
82 access: ReadWrite
83 api_name: "authenticator_id"
84}
85
86# value for generateChallenge
87prop {
88 prop_name: "vendor.face.virtual.challenge"
89 type: Long
90 scope: Public
91 access: ReadWrite
92 api_name: "challenge"
93}
94
Jeff Pu3e7448d2023-12-07 17:25:22 +000095# if forced to lock out (Default to false)
Joshua McCloskeydb009a52022-05-10 05:18:20 +000096prop {
97 prop_name: "vendor.face.virtual.lockout"
98 type: Boolean
99 scope: Public
100 access: ReadWrite
101 api_name: "lockout"
102}
103
104# force all authenticate operations to fail
105prop {
106 prop_name: "vendor.face.virtual.operation_authenticate_fails"
107 type: Boolean
108 scope: Public
109 access: ReadWrite
110 api_name: "operation_authenticate_fails"
111}
112
113# force all detectInteraction operations to fail
114prop {
115 prop_name: "vendor.face.virtual.operation_detect_interaction_fails"
116 type: Boolean
117 scope: Public
118 access: ReadWrite
119 api_name: "operation_detect_interaction_fails"
120}
121
122# force all enroll operations to fail
123prop {
124 prop_name: "vendor.face.virtual.operation_enroll_fails"
125 type: Boolean
126 scope: Public
127 access: ReadWrite
128 api_name: "operation_enroll_fails"
129}
130
131# add a latency to authentication operations
132# Note that this latency is the initial authentication latency that occurs before
133# the HAL will send AcquiredInfo::START and AcquiredInfo::FIRST_FRAME_RECEIVED
134prop {
135 prop_name: "vendor.face.virtual.operation_authenticate_latency"
136 type: Integer
137 scope: Public
138 access: ReadWrite
139 api_name: "operation_authenticate_latency"
140}
141
142# add a latency to detectInteraction operations
143prop {
144 prop_name: "vendor.face.virtual.operation_detect_interaction_latency"
145 type: Integer
146 scope: Public
147 access: ReadWrite
148 api_name: "operation_detect_interaction_latency"
149}
150
151# 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
156 scope: Public
157 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}