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
This commit is contained in:
Josh Tsuji
2021-04-30 15:09:41 -04:00
parent 6f46df2512
commit 261120400f

View File

@@ -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();
}