Fix 5437700: Underlying backup method was exposed
At one point we added a timeout to the black box that covers the underlying backup unlock method so if Face Unlock doesn't start or crashes, the user will see the backup method rather than being stuck looking at a black box. However, when powering the phone on and off quickly, the message to time out the black box could be received at the wrong time, causing it to expose the underlying backup method when it shouldn't. This solution clears the existing SHOW/HIDE messages from the handler's message queue before sending a new SHOW/HIDE message. In particular, it clears out a delayed HIDE message when a SHOW is sent so the SHOW can't be undone by a pending delayed HIDE message. Also, logging errors for a couple of exceptions instead of rethrowing so we can gracefully go to the backup in these cases. Patch set 2 fixes problem where rare exceptions could prevent ever binding to the service again because mBoundToFaceLockService was still true. Change-Id: Ieb7b6723161070f509277f67dc9ef100cf7c1aa6
Loading
Please register or sign in to comment