Skip to content
Commit 6233fbe5 authored by Brian Colonna's avatar Brian Colonna
Browse files

Fix 5514230: preventing null window token from occurring

Sometimes the lockscreen view is recreated even though it has already
been created (and therefore Face Unlock is already running).  One
example of this is when the lockscreen momentarily displays in
landscape mode and then corrects itself into portrait mode.

When lockscreen recreates itself, it removes the view and then later
re-adds the view.  During that time the window token is null and may
be passed to Face Unlock when it tries to restart.  The reason this
doesn't happen *every* time the view is recreated is because the
onServiceConnected() callback starts Face Unlock, and usually it
runs after the view is re-added, but sometimes it runs before the view
is re-added, resulting in this bug.

An earlier fix put null-token checking inside of the Face Unlock
service, which prevented crashing but Face Unlock was still unable
to run.  This fix makes the null token case not happen so Face Unlock
can run every time.  It accomplishes this by simply not restarting
Face Unlock until the view has been re-added.

This fix also replaces checking two flags everywhere to see if
Face Unlock is being used and instead uses a single function call.

Change-Id: Ib46f25f2a58ab2e70470337861c25ee81a858873
parent e4ca9242
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment