OSDN Git Service

Fix Clock flickers after reboot with strong authentication
authorfelkachang <felkachang@google.com>
Fri, 4 May 2018 08:25:45 +0000 (16:25 +0800)
committerFelka Chang <felkachang@google.com>
Wed, 9 May 2018 02:29:55 +0000 (02:29 +0000)
commitd5060280cb11683206bf9f82b1c9da730d1c33aa
treec57e89e78e886af75f2a8b2b075a4346c871c69f
parent9327d2d7577784842c6cfdf7e7c67b52d93bcaaa
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
packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java