| # 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" |
| } |