diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java index 915b56563d33a..1a9a40b243326 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardAffordanceHelper.java @@ -43,9 +43,9 @@ public class KeyguardAffordanceHelper { private static final int HINT_CIRCLE_OPEN_DURATION = 500; private final Context mContext; + private final Callback mCallback; private FlingAnimationUtils mFlingAnimationUtils; - private Callback mCallback; private VelocityTracker mVelocityTracker; private boolean mSwipingInProgress; private float mInitialTouchX; @@ -318,12 +318,11 @@ public class KeyguardAffordanceHelper { float vel = getCurrentVelocity(lastX, lastY); // We snap back if the current translation is not far enough - boolean snapBack; - if (mFalsingManager.isFalseTouch()) { - snapBack = mFalsingManager.isFalseTouch(); - } else { - snapBack = isBelowFalsingThreshold(); + boolean snapBack = false; + if (mCallback.needsAntiFalsing()) { + snapBack = snapBack || mFalsingManager.isFalseTouch(); } + snapBack = snapBack || isBelowFalsingThreshold(); // or if the velocity is in the opposite direction. boolean velIsInWrongDirection = vel * mTranslation < 0; @@ -582,5 +581,7 @@ public class KeyguardAffordanceHelper { * @return The factor the minimum swipe amount should be multiplied with. */ float getAffordanceFalsingFactor(); + + boolean needsAntiFalsing(); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 62c0fa9fe9e68..48cf631bb6834 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -701,7 +701,7 @@ public class NotificationPanelView extends PanelView implements } private boolean isFalseTouch() { - if (mStatusBarState != StatusBarState.KEYGUARD) { + if (!needsAntiFalsing()) { return false; } if (mFalsingManager.isClassiferEnabled()) { @@ -1940,6 +1940,11 @@ public class NotificationPanelView extends PanelView implements return mStatusBar.isWakeUpComingFromTouch() ? 1.5f : 1.0f; } + @Override + public boolean needsAntiFalsing() { + return mStatusBarState == StatusBarState.KEYGUARD; + } + @Override protected float getPeekHeight() { if (mNotificationStackScroller.getNotGoneChildCount() > 0) {