OSDN Git Service

Fix flickering issues with FLAG_SHOW_WHEN_LOCKED and fingerprint wake
authorJorim Jaggi <jjaggi@google.com>
Thu, 4 Aug 2016 11:55:39 +0000 (13:55 +0200)
committerJorim Jaggi <jjaggi@google.com>
Thu, 4 Aug 2016 12:16:44 +0000 (14:16 +0200)
commite93e6f9deb8d3c044d673ffb771b73b2346486a3
tree117fd661bf0e6de9be3207434fd758daa7fa8984
parentc9682ab5b508a242f0d569857ee9f6a3b82578de
Fix flickering issues with FLAG_SHOW_WHEN_LOCKED and fingerprint wake

The whole sequence is different as Keyguard is occluded. Thus, we are not
doing the normal keyguard exit sequence, but jump directly to dismissing
the Keyguard.

Normally the sequence is:
- keyguardDone
- notifyScreenTurningOn
- startKeyguardExitAnim

In the occluded case, it is:
- keyguardDone
- startKeyguardExitAnim
- notifyScreenTurningOn

Now, the following issues cause the flickering in the occluded case, which
are normally not causing any breakage:
- There was an issued with the draw callback not being reset and reused
at the wrong time.
- mWakeAndUnlocking was not cleared soon enough. This caused a timeout if
notifyScreenTurningOn happens after starKeyguardExitAnim
- We always need to wait for the Keyguard host window, as isForceHiding
isn't set in this case

Change-Id: Id8d0f9fec79ec63b36659513f97c724147c7521f
Fixes: 30483392
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
services/core/java/com/android/server/wm/WindowManagerService.java