31/n: Move Fingerprint2.1 into a wrapper with its own scheduler
This is a pretty big change since it basically allows/requires us to have FingerprintService not extend from BiometricServiceBase anymore Bug: 157790417 Bug: 158481661 1) Move Fingerprint2.1-specific code into wrapper class. This will A) Make it obvious where global dependencies still exist, and B) Make room for new HIDLs 2) Sensor-ID is creeping in. Eventually there will be Manager-level APIs for platform code to query functionality. Most likely all IFingerprintService/IFaceService interfaces will have sensorId as a parameter soon 3) Added Udfps interface and UdfpsHelper 4) FingerprintService no longer extends from BiometricServiceBase. BiometricServiceBase will be removed soon. A lot of permission checking is fingerprint-specific, since face operations all require internal permission. Thus, moved canUseBiometric into FingerprintService 5) Updated fingerprint retry logic in KeyguardUpdateMonitor. The retry should keep going if isHardwareDetected()==false. Also increased the retry counter, seems like HAL reload time has increased. Test: enroll, auth (settings), auth (keyguard), auth (BiometricPrompt), rename, remove Test: atest com.android.server.biometrics Test: atest KeyguardUpdateMonitorTest Test: Reset lockout Test: atest AccessibilityFingerprintGestureTest Test: Fingerprint stack recovers after HAL death, e.g. 1) Go to keyguard 2) adb shell ps | grep -i fingerprint 3) adb shell killall -9 android.hardware.biometrics... 4) fingerprint auth resumes after HAL reloads Test: CtsVerifier Test: adb shell dumpsys fingerprint Test: Modify settings to not cancel auth when onPause, notice task stack listener stopping settings auth Test: Invoke assistant on keyguard, auth continues Test: No effect on face auth devices (enroll, auth on keyguard, BiometricPrompt) Change-Id: Iffbdd841c093fe612e664195dcf79319d1d444ab
Loading
Please register or sign in to comment