blob: 6a6c29728b7e1b1793f959438ef6da698b14c5a2 [file] [log] [blame]
# fingerprint.sysprop
# module becomes static class (Java) / namespace (C++) for serving API
module: "android.fingerprint.virt.FingerprintHalProperties"
owner: Vendor
# type of fingerprint sensor
prop {
prop_name: "persist.vendor.fingerprint.virtual.type"
type: String
scope: Internal
access: ReadWrite
enum_values: "default|rear|udfps|side"
api_name: "type"
}
# ids of call current enrollments
prop {
prop_name: "persist.vendor.fingerprint.virtual.enrollments"
type: IntegerList
scope: Internal
access: ReadWrite
api_name: "enrollments"
}
# authenticate and detectInteraction will succeed with this
# enrollment id, when present, otherwise they will error
prop {
prop_name: "vendor.fingerprint.virtual.enrollment_hit"
type: Integer
scope: Internal
access: ReadWrite
api_name: "enrollment_hit"
}
# the next enrollment in the format of:
# "<id>:<delay>,<delay>,...:<result>"
# <delay> = <duration-[acquiredInfos]>
# [acquiredInfos] = [acquiredInfo1, acquiredInfo2, ...]
# (refer to README.md file for acquiredInfo values)
# e.g. "2:100,20:true", "2:100-[5,1],20:true"
# this property is reset after enroll completes
prop {
prop_name: "vendor.fingerprint.virtual.next_enrollment"
type: String
scope: Internal
access: ReadWrite
api_name: "next_enrollment"
}
# value for getAuthenticatorId or 0
prop {
prop_name: "persist.vendor.fingerprint.virtual.authenticator_id"
type: Long
scope: Internal
access: ReadWrite
api_name: "authenticator_id"
}
# value for generateChallenge
prop {
prop_name: "vendor.fingerprint.virtual.challenge"
type: Long
scope: Internal
access: ReadWrite
api_name: "challenge"
}
# force all authenticate operations to fail
prop {
prop_name: "vendor.fingerprint.virtual.operation_authenticate_fails"
type: Boolean
scope: Internal
access: ReadWrite
api_name: "operation_authenticate_fails"
}
# force all detectInteraction operations to error out
# error consists of errorCode and vendorErrorCode
# valid errorCodes are listed in README.md file
# vendorErrorCode = (error>1000) ? error-1000 : 0
# e.g. error(1002) --> errorCode(7) and vendorErrorCode(2)
prop {
prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_error"
type: Integer
scope: Internal
access: ReadWrite
api_name: "operation_detect_interaction_error"
}
# force all enroll operations to result in error
prop {
prop_name: "vendor.fingerprint.virtual.operation_enroll_error"
type: Integer
scope: Internal
access: ReadWrite
api_name: "operation_enroll_error"
}
# add a latency to authentication operations
# default to 400ms
# [x] = x ms
# [x,y] = randomly between x and y ms
# others = invalid
prop {
prop_name: "vendor.fingerprint.virtual.operation_authenticate_latency"
type: IntegerList
scope: Internal
access: ReadWrite
api_name: "operation_authenticate_latency"
}
# add a latency to detectInteraction operations
# refer to `operation_authenticate_latency` above for usage
prop {
prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_latency"
type: IntegerList
scope: Internal
access: ReadWrite
api_name: "operation_detect_interaction_latency"
}
# add a latency to enroll operations
# refer to `operation_authenticate_latency` above for usage
prop {
prop_name: "vendor.fingerprint.virtual.operation_enroll_latency"
type: IntegerList
scope: Internal
access: ReadWrite
api_name: "operation_enroll_latency"
}
# millisecond duration for authenticate operations
# (waits for changes to enrollment_hit)
prop {
prop_name: "vendor.fingerprint.virtual.operation_authenticate_duration"
type: Integer
scope: Internal
access: ReadWrite
api_name: "operation_authenticate_duration"
}
# insert error for authenticate operations
prop {
prop_name: "vendor.fingerprint.virtual.operation_authenticate_error"
type: Integer
scope: Internal
access: ReadWrite
api_name: "operation_authenticate_error"
}
# sensor location
# <x>:<y>:<radius> in pixel
prop {
prop_name: "persist.vendor.fingerprint.virtual.sensor_location"
type: String
scope: Internal
access: ReadWrite
api_name: "sensor_location"
}
# acquired info during authentication in format of sequence
prop {
prop_name: "vendor.fingerprint.virtual.operation_authenticate_acquired"
type: String
scope: Internal
access: ReadWrite
api_name: "operation_authenticate_acquired"
}
# millisecond duration for detect interaction operations
# (waits for changes to enrollment_hit)
prop {
prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_duration"
type: Integer
scope: Internal
access: ReadWrite
api_name: "operation_detect_interaction_duration"
}
# acquired info during detect interaction operation in format of sequence
# e.g. 5,6,1 (TOO_SLOW, TOO_FAST, GOOD)
# onAcquired() callback will be invoked in sequence
# vendorAcquiredCode = (acquired>1000) ? acquired-1000 : 0
prop {
prop_name: "vendor.fingerprint.virtual.operation_detect_interaction_acquired"
type: String
scope: Internal
access: ReadWrite
api_name: "operation_detect_interaction_acquired"
}
# sensor id (default: 5)
prop {
prop_name: "persist.vendor.fingerprint.virtual.sensor_id"
type: Integer
scope: Internal
access: ReadWrite
api_name: "sensor_id"
}
# sensor strength (default: 2)
# [0=CONVENECE, 1=WEAK, 2=STRONG]
prop {
prop_name: "persist.vendor.fingerprint.virtual.sensor_strength"
type: Integer
scope: Internal
access: ReadWrite
api_name: "sensor_strength"
}
# max enrollments per user (default: 5)
#
prop {
prop_name: "persist.vendor.fingerprint.virtual.max_enrollments"
type: Integer
scope: Internal
access: ReadWrite
api_name: "max_enrollments"
}
# whether support navigation guestures (default: false)
prop {
prop_name: "persist.vendor.fingerprint.virtual.navigation_guesture"
type: Boolean
scope: Internal
access: ReadWrite
api_name: "navigation_guesture"
}
# whether support detect interaction (default: false)
prop {
prop_name: "persist.vendor.fingerprint.virtual.detect_interaction"
type: Boolean
scope: Internal
access: ReadWrite
api_name: "detect_interaction"
}
# whether support display touch by hal (default: true)
prop {
prop_name: "persist.vendor.fingerprint.virtual.udfps.display_touch"
type: Boolean
scope: Internal
access: ReadWrite
api_name: "display_touch"
}
# whether support illumination control by hal (default: false)
prop {
prop_name: "persist.vendor.fingerprint.virtual.udfps.control_illumination"
type: Boolean
scope: Internal
access: ReadWrite
api_name: "control_illumination"
}
# force to be locked out (default: false)
prop {
prop_name: "persist.vendor.fingerprint.virtual.lockout"
type: Boolean
scope: Internal
access: ReadWrite
api_name: "lockout"
}
# whether support lockout based on the failed auth attempts (default: false)
prop {
prop_name: "persist.vendor.fingerprint.virtual.lockout_enable"
type: Boolean
scope: Internal
access: ReadWrite
api_name: "lockout_enable"
}
# temporarily lockout threshold in number of consecutive failed auth attempts (default: 5)
prop {
prop_name: "persist.vendor.fingerprint.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.fingerprint.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 (default: 20)
prop {
prop_name: "persist.vendor.fingerprint.virtual.lockout_permanent_threshold"
type: Integer
scope: Internal
access: ReadWrite
api_name: "lockout_permanent_threshold"
}