4-1/ KeyguardBypassController listen for device posture change
The bypassEnabled only override by config_face_unlock_bypass_override
Hence the device config_face_auth_supported_posture will 'always'
or 'never' bypass keyguard on each posture, the case is device
config only allow 'DEVICE_POSTURE_CLOSED' for face auth, but when
device in DEVICE_POSTURE_OPENED state, KeyguardBypassController
thought device should always bypass keyguard after face auth.
However, face auth in KeyguardUpdateMonitor do not register or
listen for the face service, then systemui or keyguard could trap
into unexpected state. The symptons would be:
1. Do not see notification shade in DEVICE_POSTURE_OPENED
2. Observe QS tile on largescreen portrait mode
Test: atest SystemUITests
Test: KeyguardBypassControllerTest
Test: manual enroll face, check device in un-supported face auth
posture state, showing notifications
Test: Manual check QS panel collapsed and in expected postition
Test: Check unlock by pattern never stuck
Bug: 263248370
Bug: 264375814
Bug: 264799288
Bug: 264342055
Change-Id: I6096dfcf5d863e31bb7a37f0609d2f5b790c68d9
2 files changed