From 261120400fe146ef5c342e4bafb3ec460fbd25a9 Mon Sep 17 00:00:00 2001 From: Josh Tsuji Date: Fri, 30 Apr 2021 15:09:41 -0400 Subject: [PATCH] Call StatusBar#finishKeyguardFadingAway after the fling animation. This isn't currently isn't being called with the new keyguard unlock animation if bypassing the keyguard due to biometric unlock. This results in ScrimController#expansionAffectsAlpha remaining false after an unlock, which in turn results in a transparent shade scrim even when unlocked+expanded. Filed b/186873982 to track a permanent fix (for a safer fix-forward, I am checking if the new unlock animation is running before calling #finishKeyguardFadingAway, but that's likely not necessary). Bug: 186760125 Test: manual Change-Id: I79a70034a02af45d69dc0e80554141c65f6b5ed8 --- .../statusbar/phone/StatusBarKeyguardViewManager.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java index 14aeca1335730..35e03535c006f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -591,6 +591,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb if (mStatusBar.isInLaunchTransition() || mKeyguardStateController.isFlingingToDismissKeyguard()) { + final boolean wasFlingingToDismissKeyguard = + mKeyguardStateController.isFlingingToDismissKeyguard(); mStatusBar.fadeKeyguardAfterLaunchTransition(new Runnable() { @Override public void run() { @@ -604,6 +606,11 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb public void run() { mStatusBar.hideKeyguard(); mNotificationShadeWindowController.setKeyguardFadingAway(false); + + if (wasFlingingToDismissKeyguard) { + mStatusBar.finishKeyguardFadingAway(); + } + mViewMediatorCallback.keyguardGone(); executeAfterKeyguardGoneAction(); }