Merge "Check for false touches when determining if the notif menu should be shown" into oc-dev
am: 70739fb812
Change-Id: Ie2014ee92ec3fb629801b18465ec42c36b6e2283
This commit is contained in:
@@ -49,6 +49,8 @@ public interface NotificationSwipeActionHelper {
|
||||
|
||||
public boolean isDismissGesture(MotionEvent ev);
|
||||
|
||||
public boolean isFalseGesture(MotionEvent ev);
|
||||
|
||||
public boolean swipedFarEnough(float translation, float viewSize);
|
||||
|
||||
public boolean swipedFastEnough(float translation, float velocity);
|
||||
|
||||
@@ -653,15 +653,19 @@ public class SwipeHelper implements Gefingerpoken {
|
||||
}
|
||||
|
||||
public boolean isDismissGesture(MotionEvent ev) {
|
||||
return ev.getActionMasked() == MotionEvent.ACTION_UP
|
||||
&& !isFalseGesture(ev) && (swipedFastEnough() || swipedFarEnough())
|
||||
&& mCallback.canChildBeDismissed(mCurrView);
|
||||
}
|
||||
|
||||
public boolean isFalseGesture(MotionEvent ev) {
|
||||
boolean falsingDetected = mCallback.isAntiFalsingNeeded();
|
||||
if (mFalsingManager.isClassiferEnabled()) {
|
||||
falsingDetected = falsingDetected && mFalsingManager.isFalseTouch();
|
||||
} else {
|
||||
falsingDetected = falsingDetected && !mTouchAboveFalsingThreshold;
|
||||
}
|
||||
return !falsingDetected && (swipedFastEnough() || swipedFarEnough())
|
||||
&& ev.getActionMasked() == MotionEvent.ACTION_UP
|
||||
&& mCallback.canChildBeDismissed(mCurrView);
|
||||
return falsingDetected;
|
||||
}
|
||||
|
||||
protected boolean swipedFastEnough() {
|
||||
|
||||
@@ -337,7 +337,8 @@ public class NotificationMenuRow implements NotificationMenuRowPlugin, View.OnCl
|
||||
} else {
|
||||
snapBack(animView, velocity);
|
||||
}
|
||||
} else if ((swipedEnoughToShowMenu() && (!gestureFastEnough || showMenuForSlowOnGoing))
|
||||
} else if (!mSwipeHelper.isFalseGesture(ev)
|
||||
&& (swipedEnoughToShowMenu() && (!gestureFastEnough || showMenuForSlowOnGoing))
|
||||
|| (gestureTowardsMenu && !mSwipeHelper.isDismissGesture(ev))) {
|
||||
// Menu has not been snapped to previously and this is menu revealing gesture
|
||||
showMenu(animView, menuSnapTarget, velocity);
|
||||
|
||||
@@ -4353,6 +4353,10 @@ public class NotificationStackScrollLayout extends ViewGroup
|
||||
mStatusBar.setNotificationSnoozed(sbn, snoozeOption);
|
||||
}
|
||||
|
||||
public boolean isFalseGesture(MotionEvent ev) {
|
||||
return super.isFalseGesture(ev);
|
||||
}
|
||||
|
||||
private void handleMenuCoveredOrDismissed() {
|
||||
if (mMenuExposedView != null && mMenuExposedView == mTranslatingParentView) {
|
||||
mMenuExposedView = null;
|
||||
|
||||
Reference in New Issue
Block a user