Fix flickering issues with FLAG_SHOW_WHEN_LOCKED and fingerprint wake

am: e93e6f9deb

Change-Id: Ic0539df986116c619f0912d72b8e145a8275947e
This commit is contained in:
Jorim Jaggi
2016-08-05 12:00:07 +00:00
committed by android-build-merger
2 changed files with 5 additions and 1 deletions

View File

@@ -1728,6 +1728,7 @@ public class KeyguardViewMediator extends SystemUI {
// this to our ViewRootImpl.
mStatusBarKeyguardViewManager.getViewRootImpl().setReportNextDraw();
notifyDrawn(mDrawnCallback);
mDrawnCallback = null;
}
// only play "unlock" noises if not on a call (since the incall UI
@@ -1736,6 +1737,7 @@ public class KeyguardViewMediator extends SystemUI {
playSounds(false);
}
mWakeAndUnlocking = false;
setShowingLocked(false);
mStatusBarKeyguardViewManager.hide(startTime, fadeoutDuration);
resetKeyguardDonePendingLocked();
@@ -1862,6 +1864,7 @@ public class KeyguardViewMediator extends SystemUI {
synchronized (this) {
if (DEBUG) Log.d(TAG, "handleNotifyScreenTurnedOff");
mStatusBarKeyguardViewManager.onScreenTurnedOff();
mDrawnCallback = null;
mWakeAndUnlocking = false;
}
}

View File

@@ -11445,8 +11445,9 @@ public class WindowManagerService extends IWindowManager.Stub
for (int winNdx = windows.size() - 1; winNdx >= 0; --winNdx) {
final WindowState win = windows.get(winNdx);
final boolean isForceHiding = mPolicy.isForceHiding(win.mAttrs);
final boolean keyguard = mPolicy.isKeyguardHostWindow(win.mAttrs);
if (win.isVisibleLw()
&& (win.mAppToken != null || isForceHiding)) {
&& (win.mAppToken != null || isForceHiding || keyguard)) {
win.mWinAnimator.mDrawState = DRAW_PENDING;
// Force add to mResizingWindows.
win.mLastContentInsets.set(-1, -1, -1, -1);