From efebbc2f7a83128ae76b81a2cd6a92c82b974c17 Mon Sep 17 00:00:00 2001 From: felkachang Date: Mon, 14 May 2018 12:22:40 +0800 Subject: [PATCH] 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 --- .../systemui/statusbar/phone/FingerprintUnlockController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 c4a78149f42ed..76860e62435a3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/FingerprintUnlockController.java @@ -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;