summaryrefslogtreecommitdiff
path: root/libs/androidfw/StringPool.cpp
diff options
context:
space:
mode:
author Shawn Lin <shawnlin@google.com> 2024-04-23 02:05:39 +0000
committer Shawn Lin <shawnlin@google.com> 2024-04-29 02:33:24 +0000
commit2f2a52eb77434c477fb4a9805c2e910c0264e487 (patch)
tree39f7e42994a7c526e89d277304bc1dd507115c19 /libs/androidfw/StringPool.cpp
parent7d0f3c900623f512527e6868ef615e775749bf5d (diff)
Fix the ring animation not showing while unfolding device
Starting state: Device is unfolded so SysUI runs face aythentication for request #1 1. The camera changes shortly afterwards, so SystemUIDeviceEntryFaceAuthInteractor calls repository.cancel()(cancel request #1) and then runFaceAuth()(request #2) when the camera changes in order to restart face auth with new camera.(Refer to runFaceAuth with uiEvent:FACE_AUTH_CAMERA_AVAILABLE_CHANGED) 2. On repository.cancel (request #1) cancellationInProgress becomes true. 3. On runFaceAuth, a pending face auth request (request #2) is queued(and won't run until cancellationInProgress becomes false, see processPendingAuthRequests()) 4. SysUI receives the callback from FingerprintManager indicating that request #1's lifecycle is done. In the onFaceAuthRequestCompleted method, cancellationInProgress is set to false which immediately allows face auth request #2 to start running. The bug here is that if within onFaceAuthRequestCompleted: cancellationInProgress is set to false before isAuthRunning is set to false, so we end up in wrong isAuthRunning state(false instead of true). Therefore, cancellationInProgress should be updated AFTER isAuthRunning. Bug: 331306919 Test: atest DeviceEntryFaceAuthRepositoryTest Flag: NONE Change-Id: Idcb9495790cf8f8bcf5528c337bfd5ecfa915c29
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions