Fix Notification panel flickers comes from ag/4008279

The flickr is come from the quick setting panel appear. The root
cause is ag/4008279. Because FingerprintUnlockController.showBouncer
will be called after fingerprint authentication, to show the bouncer
without considerating the mode is the problem.

The solution is to use FingerprintUnlockController.calculateMode()
to get whether the mode is MODE_SHOW_BOUNCER or not. The program call
mStatusBarKeyguardViewManager.showBouncer in
FingerprintUnlockController.showBouncer when the mode is
MODE_SHOW_BOUNCER.

Bug: 79614864
Test: atest SystemUITests
Change-Id: I9dc031628d51eb80a05e16f5520c75a74b81d9dc
Fix: 79614864
This commit is contained in:
felkachang
2018-05-14 12:22:40 +08:00
parent 6db14d01c2
commit efebbc2f7a

View File

@@ -266,7 +266,9 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback {
}
private void showBouncer() {
mStatusBarKeyguardViewManager.showBouncer(false);
if (calculateMode() == MODE_SHOW_BOUNCER) {
mStatusBarKeyguardViewManager.showBouncer(false);
}
mStatusBarKeyguardViewManager.animateCollapsePanels(
FINGERPRINT_COLLAPSE_SPEEDUP_FACTOR);
mPendingShowBouncer = false;