• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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|udfps-us|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#    <display1>[,display2] ...
153#       display format: <x>:<y>:<radius>[:displayString]
154prop {
155    prop_name: "persist.vendor.fingerprint.virtual.sensor_location"
156    type: String
157    scope: Public
158    access: ReadWrite
159    api_name: "sensor_location"
160}
161
162# acquired info during authentication in format of sequence
163prop {
164    prop_name: "vendor.fingerprint.virtual.operation_authenticate_acquired"
165    type: String
166    scope: Public
167    access: ReadWrite
168    api_name: "operation_authenticate_acquired"
169}
170
171# millisecond duration for detect interaction operations
172# (waits for changes to enrollment_hit)
173prop {
174    prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_duration"
175    type: Integer
176    scope: Public
177    access: ReadWrite
178    api_name: "operation_detect_interaction_duration"
179}
180
181# acquired info during detect interaction operation in format of sequence
182# e.g. 5,6,1  (TOO_SLOW, TOO_FAST, GOOD)
183# onAcquired() callback will be invoked in sequence
184# vendorAcquiredCode = (acquired>1000) ? acquired-1000 : 0
185prop {
186    prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_acquired"
187    type: String
188    scope: Public
189    access: ReadWrite
190    api_name: "operation_detect_interaction_acquired"
191}
192
193# sensor id (default: 5)
194prop {
195    prop_name: "persist.vendor.fingerprint.virtual.sensor_id"
196    type: Integer
197    scope: Public
198    access: ReadWrite
199    api_name: "sensor_id"
200}
201
202# sensor strength (default: 2)
203# [0=CONVENECE, 1=WEAK, 2=STRONG]
204prop {
205    prop_name: "persist.vendor.fingerprint.virtual.sensor_strength"
206    type: Integer
207    scope: Public
208    access: ReadWrite
209    api_name: "sensor_strength"
210}
211
212# max enrollments per user (default: 5)
213#
214prop {
215    prop_name: "persist.vendor.fingerprint.virtual.max_enrollments"
216    type: Integer
217    scope: Public
218    access: ReadWrite
219    api_name: "max_enrollments"
220}
221
222# whether support navigation gestures (default: false)
223prop {
224    prop_name: "persist.vendor.fingerprint.virtual.navigation_gesture"
225    type: Boolean
226    scope: Public
227    access: ReadWrite
228    api_name: "navigation_gesture"
229}
230
231# whether support detect interaction (default: false)
232prop {
233    prop_name: "persist.vendor.fingerprint.virtual.detect_interaction"
234    type: Boolean
235    scope: Public
236    access: ReadWrite
237    api_name: "detect_interaction"
238}
239
240# whether support display touch by hal (default: true)
241prop {
242    prop_name: "persist.vendor.fingerprint.virtual.udfps.display_touch"
243    type: Boolean
244    scope: Public
245    access: ReadWrite
246    api_name: "display_touch"
247}
248
249# whether support illumination control  by hal (default: false)
250prop {
251    prop_name: "persist.vendor.fingerprint.virtual.udfps.control_illumination"
252    type: Boolean
253    scope: Public
254    access: ReadWrite
255    api_name: "control_illumination"
256}
257
258# force to be locked out (default: false)
259prop {
260    prop_name: "persist.vendor.fingerprint.virtual.lockout"
261    type: Boolean
262    scope: Public
263    access: ReadWrite
264    api_name: "lockout"
265}
266
267# whether support lockout based on the failed auth attempts (default: false)
268prop {
269    prop_name: "persist.vendor.fingerprint.virtual.lockout_enable"
270    type: Boolean
271    scope: Public
272    access: ReadWrite
273    api_name: "lockout_enable"
274}
275
276# temporarily lockout threshold in number of consecutive failed auth attempts (default: 5)
277prop {
278    prop_name: "persist.vendor.fingerprint.virtual.lockout_timed_threshold"
279    type: Integer
280    scope: Public
281    access: ReadWrite
282    api_name: "lockout_timed_threshold"
283}
284
285# temporary lockout duration in ms (default: 10000ms)
286prop {
287    prop_name: "persist.vendor.fingerprint.virtual.lockout_timed_duration"
288    type: Integer
289    scope: Public
290    access: ReadWrite
291    api_name: "lockout_timed_duration"
292}
293
294# permanently lockout threshold  in number of consecutive failed auth attempts (default: 20)
295prop {
296    prop_name: "persist.vendor.fingerprint.virtual.lockout_permanent_threshold"
297    type: Integer
298    scope: Public
299    access: ReadWrite
300    api_name: "lockout_permanent_threshold"
301}
302