xref: /aosp_15_r20/hardware/interfaces/biometrics/fingerprint/aidl/default/fingerprint.sysprop (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1# 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
35# 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"
41# 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 {
52    prop_name: "persist.vendor.fingerprint.virtual.authenticator_id"
53    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# force all authenticate operations to fail
69prop {
70    prop_name: "vendor.fingerprint.virtual.operation_authenticate_fails"
71    type: Boolean
72    scope: Public
73    access: ReadWrite
74    api_name: "operation_authenticate_fails"
75}
76
77# force all detectInteraction operations to error out
78# error consists of errorCode and vendorErrorCode
79# valid errorCodes are listed in README.md file
80# vendorErrorCode = (error>1000) ? error-1000 : 0
81# e.g. error(1002) --> errorCode(7) and vendorErrorCode(2)
82prop {
83    prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_error"
84    type: Integer
85    scope: Public
86    access: ReadWrite
87    api_name: "operation_detect_interaction_error"
88}
89
90# force all enroll operations to result in error
91prop {
92    prop_name: "vendor.fingerprint.virtual.operation_enroll_error"
93    type: Integer
94    scope: Public
95    access: ReadWrite
96    api_name: "operation_enroll_error"
97}
98
99# add a latency to authentication operations
100#   default to 400ms
101#   [x] = x ms
102#   [x,y] = randomly between x and y ms
103#   others = invalid
104prop {
105    prop_name: "vendor.fingerprint.virtual.operation_authenticate_latency"
106    type: IntegerList
107    scope: Public
108    access: ReadWrite
109    api_name: "operation_authenticate_latency"
110}
111
112# add a latency to detectInteraction operations
113#   refer to `operation_authenticate_latency` above for usage
114prop {
115    prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_latency"
116    type: IntegerList
117    scope: Public
118    access: ReadWrite
119    api_name: "operation_detect_interaction_latency"
120}
121
122# add a latency to enroll operations
123#   refer to `operation_authenticate_latency` above for usage
124prop {
125    prop_name: "vendor.fingerprint.virtual.operation_enroll_latency"
126    type: IntegerList
127    scope: Public
128    access: ReadWrite
129    api_name: "operation_enroll_latency"
130}
131
132# millisecond duration for authenticate operations
133# (waits for changes to enrollment_hit)
134prop {
135    prop_name: "vendor.fingerprint.virtual.operation_authenticate_duration"
136    type: Integer
137    scope: Public
138    access: ReadWrite
139    api_name: "operation_authenticate_duration"
140}
141
142# insert error for authenticate operations
143prop {
144    prop_name: "vendor.fingerprint.virtual.operation_authenticate_error"
145    type: Integer
146    scope: Public
147    access: ReadWrite
148    api_name: "operation_authenticate_error"
149}
150
151# sensor location
152#    <x>:<y>:<radius> in pixel
153prop {
154    prop_name: "persist.vendor.fingerprint.virtual.sensor_location"
155    type: String
156    scope: Public
157    access: ReadWrite
158    api_name: "sensor_location"
159}
160
161# acquired info during authentication in format of sequence
162prop {
163    prop_name: "vendor.fingerprint.virtual.operation_authenticate_acquired"
164    type: String
165    scope: Public
166    access: ReadWrite
167    api_name: "operation_authenticate_acquired"
168}
169
170# millisecond duration for detect interaction operations
171# (waits for changes to enrollment_hit)
172prop {
173    prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_duration"
174    type: Integer
175    scope: Public
176    access: ReadWrite
177    api_name: "operation_detect_interaction_duration"
178}
179
180# acquired info during detect interaction operation in format of sequence
181# e.g. 5,6,1  (TOO_SLOW, TOO_FAST, GOOD)
182# onAcquired() callback will be invoked in sequence
183# vendorAcquiredCode = (acquired>1000) ? acquired-1000 : 0
184prop {
185    prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_acquired"
186    type: String
187    scope: Public
188    access: ReadWrite
189    api_name: "operation_detect_interaction_acquired"
190}
191
192# sensor id (default: 5)
193prop {
194    prop_name: "persist.vendor.fingerprint.virtual.sensor_id"
195    type: Integer
196    scope: Public
197    access: ReadWrite
198    api_name: "sensor_id"
199}
200
201# sensor strength (default: 2)
202# [0=CONVENECE, 1=WEAK, 2=STRONG]
203prop {
204    prop_name: "persist.vendor.fingerprint.virtual.sensor_strength"
205    type: Integer
206    scope: Public
207    access: ReadWrite
208    api_name: "sensor_strength"
209}
210
211# max enrollments per user (default: 5)
212#
213prop {
214    prop_name: "persist.vendor.fingerprint.virtual.max_enrollments"
215    type: Integer
216    scope: Public
217    access: ReadWrite
218    api_name: "max_enrollments"
219}
220
221# whether support navigation guestures (default: false)
222prop {
223    prop_name: "persist.vendor.fingerprint.virtual.navigation_guesture"
224    type: Boolean
225    scope: Public
226    access: ReadWrite
227    api_name: "navigation_guesture"
228}
229
230# whether support detect interaction (default: false)
231prop {
232    prop_name: "persist.vendor.fingerprint.virtual.detect_interaction"
233    type: Boolean
234    scope: Public
235    access: ReadWrite
236    api_name: "detect_interaction"
237}
238
239# whether support display touch by hal (default: true)
240prop {
241    prop_name: "persist.vendor.fingerprint.virtual.udfps.display_touch"
242    type: Boolean
243    scope: Public
244    access: ReadWrite
245    api_name: "display_touch"
246}
247
248# whether support illumination control  by hal (default: false)
249prop {
250    prop_name: "persist.vendor.fingerprint.virtual.udfps.control_illumination"
251    type: Boolean
252    scope: Public
253    access: ReadWrite
254    api_name: "control_illumination"
255}
256
257# force to be locked out (default: false)
258prop {
259    prop_name: "persist.vendor.fingerprint.virtual.lockout"
260    type: Boolean
261    scope: Public
262    access: ReadWrite
263    api_name: "lockout"
264}
265
266# whether support lockout based on the failed auth attempts (default: false)
267prop {
268    prop_name: "persist.vendor.fingerprint.virtual.lockout_enable"
269    type: Boolean
270    scope: Public
271    access: ReadWrite
272    api_name: "lockout_enable"
273}
274
275# temporarily lockout threshold in number of consecutive failed auth attempts (default: 5)
276prop {
277    prop_name: "persist.vendor.fingerprint.virtual.lockout_timed_threshold"
278    type: Integer
279    scope: Public
280    access: ReadWrite
281    api_name: "lockout_timed_threshold"
282}
283
284# temporary lockout duration in ms (default: 10000ms)
285prop {
286    prop_name: "persist.vendor.fingerprint.virtual.lockout_timed_duration"
287    type: Integer
288    scope: Public
289    access: ReadWrite
290    api_name: "lockout_timed_duration"
291}
292
293# permanently lockout threshold  in number of consecutive failed auth attempts (default: 20)
294prop {
295    prop_name: "persist.vendor.fingerprint.virtual.lockout_permanent_threshold"
296    type: Integer
297    scope: Public
298    access: ReadWrite
299    api_name: "lockout_permanent_threshold"
300}
301