xref: /aosp_15_r20/hardware/interfaces/biometrics/face/aidl/default/face.sysprop (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1# 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 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
63    scope: Public
64    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
72    scope: Public
73    access: ReadWrite
74    api_name: "authenticator_id"
75}
76
77# value for generateChallenge
78prop {
79    prop_name: "vendor.face.virtual.challenge"
80    type: Long
81    scope: Public
82    access: ReadWrite
83    api_name: "challenge"
84}
85
86# if forced to lock out (Default to false)
87prop {
88    prop_name: "vendor.face.virtual.lockout"
89    type: Boolean
90    scope: Public
91    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
99    scope: Public
100    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
108    scope: Public
109    access: ReadWrite
110    api_name: "operation_detect_interaction_fails"
111}
112
113# add a latency to authentication operations
114# Note that this latency is the initial authentication latency that occurs before
115# the HAL will send AcquiredInfo::START and AcquiredInfo::FIRST_FRAME_RECEIVED
116prop {
117    prop_name: "vendor.face.virtual.operation_authenticate_latency"
118    type: IntegerList
119    scope: Public
120    access: ReadWrite
121    api_name: "operation_authenticate_latency"
122}
123
124# add a latency to detectInteraction operations
125prop {
126    prop_name: "vendor.face.virtual.operation_detect_interaction_latency"
127    type: IntegerList
128    scope: Public
129    access: ReadWrite
130    api_name: "operation_detect_interaction_latency"
131}
132
133# add a latency to enroll operations
134prop {
135    prop_name: "vendor.face.virtual.operation_enroll_latency"
136    type: IntegerList
137    scope: Public
138    access: ReadWrite
139    api_name: "operation_enroll_latency"
140}
141
142# millisecond duration for authenticate operations
143# (waits for changes to enrollment_hit)
144prop {
145    prop_name: "vendor.face.virtual.operation_authenticate_duration"
146    type: Integer
147    scope: Public
148    access: ReadWrite
149    api_name: "operation_authenticate_duration"
150}
151
152# insert error for authenticate operations
153prop {
154    prop_name: "vendor.face.virtual.operation_authenticate_error"
155    type: Integer
156    scope: Public
157    access: ReadWrite
158    api_name: "operation_authenticate_error"
159}
160
161# acquired info during authentication in format of sequence
162prop {
163    prop_name: "vendor.face.virtual.operation_authenticate_acquired"
164    type: String
165    scope: Public
166    access: ReadWrite
167    api_name: "operation_authenticate_acquired"
168}
169
170# whether support lockout based on the failed auth attempts (default: false)
171prop {
172    prop_name: "persist.vendor.face.virtual.lockout_enable"
173    type: Boolean
174    scope: Public
175    access: ReadWrite
176    api_name: "lockout_enable"
177}
178
179# whether support timed_lockout based on the failed auth attempts (default: false)
180prop {
181    prop_name: "persist.vendor.face.virtual.lockout_timed_enable"
182    type: Boolean
183    scope: Public
184    access: ReadWrite
185    api_name: "lockout_timed_enable"
186}
187
188# temperory lockout threshold  in number of consecutive failed auth attempts
189prop {
190    prop_name: "persist.vendor.face.virtual.lockout_timed_threshold"
191    type: Integer
192    scope: Public
193    access: ReadWrite
194    api_name: "lockout_timed_threshold"
195}
196
197# temporary lockout duration in ms (default: 10000ms)
198prop {
199    prop_name: "persist.vendor.face.virtual.lockout_timed_duration"
200    type: Integer
201    scope: Public
202    access: ReadWrite
203    api_name: "lockout_timed_duration"
204}
205
206# permanently lockout threshold  in number of consecutive failed auth attempts
207prop {
208    prop_name: "persist.vendor.face.virtual.lockout_permanent_threshold"
209    type: Integer
210    scope: Public
211    access: ReadWrite
212    api_name: "lockout_permanent_threshold"
213}
214