From e11a139facc0fca468cbb971aa4a5965fe9040a4 Mon Sep 17 00:00:00 2001 From: Matt Pietal Date: Fri, 19 Aug 2022 14:13:12 +0000 Subject: [PATCH] Fix shade collapse on keyguard with bypass enabled Only with face unlock + bypass enabled, when dragging down the shade over keyguard, the end motion event was forcing the shade to collapse again, due to an incorrect check on the keyguard state. Use the KeyguardStateController.isShowing() method instead, which is a more accurate check on keyguard state. Fixes: 242813247 Test: All combinations of face unlock enabled/disabled, notifications visible on lockscreen on/off, notification redacted on/off, face bypass on/off Change-Id: I99c6ced66f3269dbf4e6df1d078d7c793492c157 --- .../systemui/statusbar/phone/PanelViewController.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java index 3d3e6ed26fe2c..3e10166e4c3ee 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java @@ -395,7 +395,7 @@ public abstract class PanelViewController { mInitialOffsetOnTouch = expandedHeight; mInitialTouchY = newY; mInitialTouchX = newX; - mInitialTouchFromKeyguard = mStatusBarStateController.getState() == StatusBarState.KEYGUARD; + mInitialTouchFromKeyguard = mKeyguardStateController.isShowing(); if (startTracking) { mTouchSlopExceeded = true; setExpandedHeight(mInitialOffsetOnTouch); @@ -414,9 +414,7 @@ public abstract class PanelViewController { float vectorVel = (float) Math.hypot( mVelocityTracker.getXVelocity(), mVelocityTracker.getYVelocity()); - final boolean onKeyguard = - mStatusBarStateController.getState() == StatusBarState.KEYGUARD; - + final boolean onKeyguard = mKeyguardStateController.isShowing(); final boolean expand; if (mKeyguardStateController.isKeyguardFadingAway() || (mInitialTouchFromKeyguard && !onKeyguard)) {