blob: 95b0b43ca7df61dd905434f334066761cae3169d [file] [log] [blame]
# face.sysprop
# module becomes static class (Java) / namespace (C++) for serving API
module: "android.face.virt.FaceHalProperties"
owner: Vendor
# type of face sensor
prop {
prop_name: "persist.vendor.face.virtual.type"
type: String
scope: Public
access: ReadWrite
enum_values: "IR|RGB"
api_name: "type"
}
# the strength of the sensor
prop {
prop_name: "persist.vendor.face.virtual.strength"
type: String
scope: Public
access: ReadWrite
enum_values: "convenience|weak|strong"
api_name: "strength"
}
# ids of current enrollments
prop {
prop_name: "persist.vendor.face.virtual.enrollments"
type: IntegerList
scope: Public
access: ReadWrite
api_name: "enrollments"
}
# List of features
prop {
prop_name: "persist.vendor.face.virtual.features"
type: IntegerList
scope: Public
access: ReadWrite
api_name: "features"
}
# authenticate and detectInteraction will succeed with this
# enrollment id, when present, otherwise they will error
prop {
prop_name: "vendor.face.virtual.enrollment_hit"
type: Integer
scope: Public
access: ReadWrite
api_name: "enrollment_hit"
}
# The initial latency for enrollment
prop {
prop_name: "vendor.face.virtual.operation_start_enroll_latency"
type: Integer
scope: Public
access: ReadWrite
api_name: "operation_start_enroll_latency"
}
# the next enrollment in the format:
# "<id>,<bucket_id>:<delay>:<succeeds>,<bucket_id>..."
# for example: "0:1,0:100:1,1:200:1" indicating that bucket 0 took
# 50 milliseconds, bucket 1 took 100 milliseconds, bucket 2 took 200 milliseconds.
# Note that it is up to the configuration to determine how many buckets are required
# to complete an enrollment
prop {
prop_name: "vendor.face.virtual.next_enrollment"
type: String
scope: Public
access: ReadWrite
api_name: "next_enrollment"
}
# value for getAuthenticatorId or 0
prop {
prop_name: "vendor.face.virtual.authenticator_id"
type: Long
scope: Public
access: ReadWrite
api_name: "authenticator_id"
}
# value for generateChallenge
prop {
prop_name: "vendor.face.virtual.challenge"
type: Long
scope: Public
access: ReadWrite
api_name: "challenge"
}
# if forced to lock out (Default to false)
prop {
prop_name: "vendor.face.virtual.lockout"
type: Boolean
scope: Public
access: ReadWrite
api_name: "lockout"
}
# force all authenticate operations to fail
prop {
prop_name: "vendor.face.virtual.operation_authenticate_fails"
type: Boolean
scope: Public
access: ReadWrite
api_name: "operation_authenticate_fails"
}
# force all detectInteraction operations to fail
prop {
prop_name: "vendor.face.virtual.operation_detect_interaction_fails"
type: Boolean
scope: Public
access: ReadWrite
api_name: "operation_detect_interaction_fails"
}
# force all enroll operations to fail
prop {
prop_name: "vendor.face.virtual.operation_enroll_fails"
type: Boolean
scope: Public
access: ReadWrite
api_name: "operation_enroll_fails"
}
# add a latency to authentication operations
# Note that this latency is the initial authentication latency that occurs before
# the HAL will send AcquiredInfo::START and AcquiredInfo::FIRST_FRAME_RECEIVED
prop {
prop_name: "vendor.face.virtual.operation_authenticate_latency"
type: Integer
scope: Public
access: ReadWrite
api_name: "operation_authenticate_latency"
}
# add a latency to detectInteraction operations
prop {
prop_name: "vendor.face.virtual.operation_detect_interaction_latency"
type: Integer
scope: Public
access: ReadWrite
api_name: "operation_detect_interaction_latency"
}
# millisecond duration for authenticate operations
# (waits for changes to enrollment_hit)
prop {
prop_name: "vendor.face.virtual.operation_authenticate_duration"
type: Integer
scope: Public
access: ReadWrite
api_name: "operation_authenticate_duration"
}
# insert error for authenticate operations
prop {
prop_name: "vendor.face.virtual.operation_authenticate_error"
type: Integer
scope: Internal
access: ReadWrite
api_name: "operation_authenticate_error"
}
# acquired info during authentication in format of sequence
prop {
prop_name: "vendor.face.virtual.operation_authenticate_acquired"
type: String
scope: Internal
access: ReadWrite
api_name: "operation_authenticate_acquired"
}
# whether support lockout based on the failed auth attempts (default: false)
prop {
prop_name: "persist.vendor.face.virtual.lockout_enable"
type: Boolean
scope: Internal
access: ReadWrite
api_name: "lockout_enable"
}
# whether support timed_lockout based on the failed auth attempts (default: false)
prop {
prop_name: "persist.vendor.face.virtual.lockout_timed_enable"
type: Boolean
scope: Internal
access: ReadWrite
api_name: "lockout_timed_enable"
}
# temperory lockout threshold in number of consecutive failed auth attempts
prop {
prop_name: "persist.vendor.face.virtual.lockout_timed_threshold"
type: Integer
scope: Internal
access: ReadWrite
api_name: "lockout_timed_threshold"
}
# temporary lockout duration in ms (default: 10000ms)
prop {
prop_name: "persist.vendor.face.virtual.lockout_timed_duration"
type: Integer
scope: Internal
access: ReadWrite
api_name: "lockout_timed_duration"
}
# permanently lockout threshold in number of consecutive failed auth attempts
prop {
prop_name: "persist.vendor.face.virtual.lockout_permanent_threshold"
type: Integer
scope: Internal
access: ReadWrite
api_name: "lockout_permanent_threshold"
}