blob: 9b8fada927e04fc79115c8c97cb2f993318122b7 [file] [log] [blame]
Joe Bolingerde94aa02021-12-09 17:00:32 -08001# fingerprint.sysprop
2# module becomes static class (Java) / namespace (C++) for serving API
3module: "android.fingerprint.virt.FingerprintHalProperties"
4owner: Vendor
5
6# type of fingerprint sensor
7prop {
8 prop_name: "persist.vendor.fingerprint.virtual.type"
9 type: String
10 scope: Public
11 access: ReadWrite
12 enum_values: "default|rear|udfps|side"
13 api_name: "type"
14}
15
16# ids of call current enrollments
17prop {
18 prop_name: "persist.vendor.fingerprint.virtual.enrollments"
19 type: IntegerList
20 scope: Public
21 access: ReadWrite
22 api_name: "enrollments"
23}
24
25# authenticate and detectInteraction will succeed with this
26# enrollment id, when present, otherwise they will error
27prop {
28 prop_name: "vendor.fingerprint.virtual.enrollment_hit"
29 type: Integer
30 scope: Public
31 access: ReadWrite
32 api_name: "enrollment_hit"
33}
34
Jeff Pu343ca942022-09-14 15:56:30 -040035# the next enrollment in the format of:
36# "<id>:<delay>,<delay>,...:<result>"
37# <delay> = <duration-[acquiredInfos]>
38# [acquiredInfos] = [acquiredInfo1, acquiredInfo2, ...]
39# (refer to README.md file for acquiredInfo values)
40# e.g. "2:100,20:true", "2:100-[5,1],20:true"
Joe Bolingerde94aa02021-12-09 17:00:32 -080041# this property is reset after enroll completes
42prop {
43 prop_name: "vendor.fingerprint.virtual.next_enrollment"
44 type: String
45 scope: Public
46 access: ReadWrite
47 api_name: "next_enrollment"
48}
49
50# value for getAuthenticatorId or 0
51prop {
Jeff Pu343ca942022-09-14 15:56:30 -040052 prop_name: "persist.vendor.fingerprint.virtual.authenticator_id"
Joe Bolingerde94aa02021-12-09 17:00:32 -080053 type: Long
54 scope: Public
55 access: ReadWrite
56 api_name: "authenticator_id"
57}
58
59# value for generateChallenge
60prop {
61 prop_name: "vendor.fingerprint.virtual.challenge"
62 type: Long
63 scope: Public
64 access: ReadWrite
65 api_name: "challenge"
66}
67
68# if locked out
69prop {
Jeff Pu343ca942022-09-14 15:56:30 -040070 prop_name: "persist.vendor.fingerprint.virtual.lockout"
Joe Bolingerde94aa02021-12-09 17:00:32 -080071 type: Boolean
72 scope: Public
73 access: ReadWrite
74 api_name: "lockout"
75}
76
77# force all authenticate operations to fail
78prop {
79 prop_name: "vendor.fingerprint.virtual.operation_authenticate_fails"
80 type: Boolean
81 scope: Public
82 access: ReadWrite
83 api_name: "operation_authenticate_fails"
84}
85
Jeff Pu343ca942022-09-14 15:56:30 -040086# force all detectInteraction operations to error out
87# error consists of errorCode and vendorErrorCode
88# valid errorCodes are listed in README.md file
89# vendorErrorCode = (error>1000) ? error-1000 : 0
90# e.g. error(1002) --> errorCode(7) and vendorErrorCode(2)
Joe Bolingerde94aa02021-12-09 17:00:32 -080091prop {
Jeff Pu343ca942022-09-14 15:56:30 -040092 prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_error"
93 type: Integer
Joe Bolingerde94aa02021-12-09 17:00:32 -080094 scope: Public
95 access: ReadWrite
Jeff Pu343ca942022-09-14 15:56:30 -040096 api_name: "operation_detect_interaction_error"
Joe Bolingerde94aa02021-12-09 17:00:32 -080097}
98
Jeff Pu343ca942022-09-14 15:56:30 -040099# force all enroll operations to result in error
Joe Bolingerde94aa02021-12-09 17:00:32 -0800100prop {
Jeff Pu343ca942022-09-14 15:56:30 -0400101 prop_name: "vendor.fingerprint.virtual.operation_enroll_error"
102 type: Integer
Joe Bolingerde94aa02021-12-09 17:00:32 -0800103 scope: Public
104 access: ReadWrite
Jeff Pu343ca942022-09-14 15:56:30 -0400105 api_name: "operation_enroll_error"
Joe Bolingerde94aa02021-12-09 17:00:32 -0800106}
107
108# add a latency to authentication operations
109prop {
110 prop_name: "vendor.fingerprint.virtual.operation_authenticate_latency"
111 type: Integer
112 scope: Public
113 access: ReadWrite
114 api_name: "operation_authenticate_latency"
115}
116
117# add a latency to detectInteraction operations
118prop {
119 prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_latency"
120 type: Integer
121 scope: Public
122 access: ReadWrite
123 api_name: "operation_detect_interaction_latency"
124}
125
126# add a latency to enroll operations
127prop {
128 prop_name: "vendor.fingerprint.virtual.operation_enroll_latency"
129 type: Integer
130 scope: Public
131 access: ReadWrite
132 api_name: "operation_enroll_latency"
133}
134
135# millisecond duration for authenticate operations
136# (waits for changes to enrollment_hit)
137prop {
138 prop_name: "vendor.fingerprint.virtual.operation_authenticate_duration"
139 type: Integer
140 scope: Public
141 access: ReadWrite
142 api_name: "operation_authenticate_duration"
143}
Jeff Pu63f33c72022-07-28 16:06:23 -0400144
Jeff Pu343ca942022-09-14 15:56:30 -0400145# insert error for authenticate operations
146prop {
147 prop_name: "vendor.fingerprint.virtual.operation_authenticate_error"
148 type: Integer
149 scope: Public
150 access: ReadWrite
151 api_name: "operation_authenticate_error"
152}
153
Jeff Pu63f33c72022-07-28 16:06:23 -0400154# sensor location
155# <x>:<y>:<radius> in pixel
156prop {
157 prop_name: "persist.vendor.fingerprint.virtual.sensor_location"
158 type: String
159 scope: Public
160 access: ReadWrite
161 api_name: "sensor_location"
162}
Jeff Pu343ca942022-09-14 15:56:30 -0400163
164# acquired info during authentication in format of sequence
165prop {
166 prop_name: "vendor.fingerprint.virtual.operation_authenticate_acquired"
167 type: String
168 scope: Public
169 access: ReadWrite
170 api_name: "operation_authenticate_acquired"
171}
172
173# millisecond duration for detect interaction operations
174# (waits for changes to enrollment_hit)
175prop {
176 prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_duration"
177 type: Integer
178 scope: Public
179 access: ReadWrite
180 api_name: "operation_detect_interaction_duration"
181}
182
183# acquired info during detect interaction operation in format of sequence
184# e.g. 5,6,1 (TOO_SLOW, TOO_FAST, GOOD)
185# onAcquired() callback will be invoked in sequence
186# vendorAcquiredCode = (acquired>1000) ? acquired-1000 : 0
187prop {
188 prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_acquired"
189 type: String
190 scope: Public
191 access: ReadWrite
192 api_name: "operation_detect_interaction_acquired"
193}
194
195# sensor id (default: 5)
196prop {
197 prop_name: "persist.vendor.fingerprint.virtual.sensor_id"
198 type: Integer
199 scope: Public
200 access: ReadWrite
201 api_name: "sensor_id"
202}
203
204# sensor strength (default: 2)
205# [0=CONVENECE, 1=WEAK, 2=STRONG]
206prop {
207 prop_name: "persist.vendor.fingerprint.virtual.sensor_strength"
208 type: Integer
209 scope: Public
210 access: ReadWrite
211 api_name: "sensor_strength"
212}
213
214# max enrollments per user (default: 5)
215#
216prop {
217 prop_name: "persist.vendor.fingerprint.virtual.max_enrollments"
218 type: Integer
219 scope: Public
220 access: ReadWrite
221 api_name: "max_enrollments"
222}
223
224# whether support navigation guestures (default: false)
225prop {
226 prop_name: "persist.vendor.fingerprint.virtual.navigation_guesture"
227 type: Boolean
228 scope: Public
229 access: ReadWrite
230 api_name: "navigation_guesture"
231}
232
233# whether support detect interaction (default: false)
234prop {
235 prop_name: "persist.vendor.fingerprint.virtual.detect_interaction"
236 type: Boolean
237 scope: Public
238 access: ReadWrite
239 api_name: "detect_interaction"
240}
241
242# whether support display touch by hal (default: true)
243prop {
244 prop_name: "persist.vendor.fingerprint.virtual.udfps.display_touch"
245 type: Boolean
246 scope: Public
247 access: ReadWrite
248 api_name: "display_touch"
249}
250
251# whether support illumination control by hal (default: false)
252prop {
253 prop_name: "persist.vendor.fingerprint.virtual.udfps.control_illumination"
254 type: Boolean
255 scope: Public
256 access: ReadWrite
257 api_name: "control_illumination"
258}