From d5060280cb11683206bf9f82b1c9da730d1c33aa Mon Sep 17 00:00:00 2001 From: felkachang Date: Fri, 4 May 2018 16:25:45 +0800 Subject: [PATCH] Fix Clock flickers after reboot with strong authentication After boot, the device request the strong authentication but finger print is not strong. The keyguard will appear after collapsing NotificationPanelView. Because StatusBarKeyguardViewManager.mExpansionCallback.onFullyShown ->updateStates should call mStatusBar.setBouncerShowing(true) before PanelBar.mExpanded = false but StatusBarKeyguardViewManager.mBouncer.isShowing() return false, StatusBarKeyguardViewManager.updateStates doesn't call mStatusBar.setBouncerShowing. After PanelBar.mExpanded = false, PhoneStatusBarView post runnable mHideExpandedRunnable to show the Bouncer and make the Bouncer to be showing and then change the NotificationPanelView to be VISIBLE. The solution is to call mStatusBarKeyguardViewManager.showBouncer(false) before calling mStatusBarKeyguardViewManager.animateCollapsePanels( FINGERPRINT_COLLAPSE_SPEEDUP_FACTOR). To make the KeyguardBouncer.mRoot to be VISIBLE by KeyguardBouncer.mShowRunnable. Bug: 78490344 Test: atest SystemUITests Change-Id: Ia8770cd3ca98007574c0ba18c0464fc2f58b7973 --- .../android/systemui/statusbar/phone/FingerprintUnlockController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java index 6576eb7dda9b..c4a78149f42e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java @@ -266,6 +266,7 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback { } private void showBouncer() { + mStatusBarKeyguardViewManager.showBouncer(false); mStatusBarKeyguardViewManager.animateCollapsePanels( FINGERPRINT_COLLAPSE_SPEEDUP_FACTOR); mPendingShowBouncer = false; -- 2.11.0