Don't do anti-falsing on locked shade

The user has already passed the keyguard test by
dragging down. We're not doing anti falsing at this
point and doing it on the affordance was triggering
a crash on debuggable builds (and not working at all
on regular builds).

Change-Id: Icaf81e8e2a38503851c7b5699a0f5a3d363dac19
Fixes: 28154836
This commit is contained in:
Adrian Roos
2016-04-19 17:09:07 -07:00
parent 6ed4e35e49
commit 6a70b884df
2 changed files with 13 additions and 7 deletions

View File

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

View File

@@ -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) {