Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 652afdf5 authored by Selim Cinek's avatar Selim Cinek Committed by John Spurlock
Browse files

Increases the falsing threshold when for the keyguard affordances

The minimum amount has been increased by 20dp and in addition the
Motion is cancelled whenever a POINTER_DOWN occurs, which should
help a lot with falsing.

Bug: 18298401
Change-Id: I04b1f30fd2555c08209224f4e84c610ecd7a33f1
(cherry picked from commit 1dc40650)
parent e4662f7e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -320,7 +320,7 @@
    <dimen name="heads_up_window_height">250dp</dimen>

    <!-- The minimum amount the user needs to swipe to go to the camera / phone. -->
    <dimen name="keyguard_min_swipe_amount">90dp</dimen>
    <dimen name="keyguard_min_swipe_amount">110dp</dimen>

    <!-- The minimum background radius when swiping to a side for the camera / phone affordances. -->
    <dimen name="keyguard_affordance_min_background_radius">30dp</dimen>
+20 −29
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ public class KeyguardAffordanceHelper {

    private FlingAnimationUtils mFlingAnimationUtils;
    private Callback mCallback;
    private int mTrackingPointer;
    private VelocityTracker mVelocityTracker;
    private boolean mSwipingInProgress;
    private float mInitialTouchX;
@@ -65,6 +64,7 @@ public class KeyguardAffordanceHelper {
    private Animator mSwipeAnimator;
    private int mMinBackgroundRadius;
    private boolean mMotionPerformedByUser;
    private boolean mMotionCancelled;
    private AnimatorListenerAdapter mFlingEndListener = new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
@@ -117,13 +117,11 @@ public class KeyguardAffordanceHelper {
    }

    public boolean onTouchEvent(MotionEvent event) {
        int pointerIndex = event.findPointerIndex(mTrackingPointer);
        if (pointerIndex < 0) {
            pointerIndex = 0;
            mTrackingPointer = event.getPointerId(pointerIndex);
        if (mMotionCancelled && event.getActionMasked() != MotionEvent.ACTION_DOWN) {
            return false;
        }
        final float y = event.getY(pointerIndex);
        final float x = event.getX(pointerIndex);
        final float y = event.getY();
        final float x = event.getX();

        boolean isUp = false;
        switch (event.getActionMasked()) {
@@ -137,22 +135,12 @@ public class KeyguardAffordanceHelper {
                initVelocityTracker();
                trackMovement(event);
                mMotionPerformedByUser = false;
                mMotionCancelled = false;
                break;

            case MotionEvent.ACTION_POINTER_UP:
                final int upPointer = event.getPointerId(event.getActionIndex());
                if (mTrackingPointer == upPointer) {
                    // gesture is ongoing, find a new pointer to track
                    final int newIndex = event.getPointerId(0) != upPointer ? 0 : 1;
                    final float newY = event.getY(newIndex);
                    final float newX = event.getX(newIndex);
                    mTrackingPointer = event.getPointerId(newIndex);
                    mInitialTouchY = newY;
                    mInitialTouchX = newX;
                    mTranslationOnDown = mTranslation;
                }
            case MotionEvent.ACTION_POINTER_DOWN:
                mMotionCancelled = true;
                endMotion(event, true /* forceSnapBack */);
                break;

            case MotionEvent.ACTION_MOVE:
                final float w = x - mInitialTouchX;
                trackMovement(event);
@@ -174,18 +162,21 @@ public class KeyguardAffordanceHelper {
            case MotionEvent.ACTION_UP:
                isUp = true;
            case MotionEvent.ACTION_CANCEL:
                mTrackingPointer = -1;
                trackMovement(event);
                endMotion(event, !isUp);
                break;
        }
        return true;
    }

    private void endMotion(MotionEvent event, boolean forceSnapBack) {
        if (mSwipingInProgress) {
                    flingWithCurrentVelocity(!isUp);
            flingWithCurrentVelocity(forceSnapBack);
        }
        if (mVelocityTracker != null) {
            mVelocityTracker.recycle();
            mVelocityTracker = null;
        }
                break;
        }
        return true;
    }

    private void setSwipingInProgress(boolean inProgress) {