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

Commit 101e3793 authored by Mindy Pereira's avatar Mindy Pereira Committed by Android Git Automerger
Browse files

am 07763e30: Merge "Make distance count when dismissing swipedismisslayout" into klp-modular-dev

* commit '07763e30':
  Make distance count when dismissing swipedismisslayout
parents 90cfa001 07763e30
Loading
Loading
Loading
Loading
+8 −9
Original line number Original line Diff line number Diff line
@@ -35,7 +35,7 @@ import android.widget.FrameLayout;
public class SwipeDismissLayout extends FrameLayout {
public class SwipeDismissLayout extends FrameLayout {
    private static final String TAG = "SwipeDismissLayout";
    private static final String TAG = "SwipeDismissLayout";


    private static final float DISMISS_MIN_PROGRESS = 0.6f;
    private static final float DISMISS_MIN_DRAG_WIDTH_RATIO = .4f;


    public interface OnDismissedListener {
    public interface OnDismissedListener {
        void onDismissed(SwipeDismissLayout layout);
        void onDismissed(SwipeDismissLayout layout);
@@ -244,7 +244,11 @@ public class SwipeDismissLayout extends FrameLayout {
        if (!mSwiping) {
        if (!mSwiping) {
            float deltaX = ev.getRawX() - mDownX;
            float deltaX = ev.getRawX() - mDownX;
            float deltaY = ev.getRawY() - mDownY;
            float deltaY = ev.getRawY() - mDownY;
            if ((deltaX * deltaX) + (deltaY * deltaY) > mSlop * mSlop) {
                mSwiping = deltaX > mSlop * 2 && Math.abs(deltaY) < mSlop * 2;
                mSwiping = deltaX > mSlop * 2 && Math.abs(deltaY) < mSlop * 2;
            } else {
                mSwiping = false;
            }
        }
        }
    }
    }


@@ -254,12 +258,7 @@ public class SwipeDismissLayout extends FrameLayout {
            mVelocityTracker.addMovement(ev);
            mVelocityTracker.addMovement(ev);
            mVelocityTracker.computeCurrentVelocity(1000);
            mVelocityTracker.computeCurrentVelocity(1000);


            float velocityX = mVelocityTracker.getXVelocity();
            if (deltaX > (getWidth() * DISMISS_MIN_DRAG_WIDTH_RATIO) &&
            float absVelocityX = Math.abs(velocityX);
            float absVelocityY = Math.abs(mVelocityTracker.getYVelocity());

            if (deltaX > (getWidth() * DISMISS_MIN_PROGRESS) &&
                    absVelocityX < mMinFlingVelocity && 
                    ev.getRawX() >= mLastX) {
                    ev.getRawX() >= mLastX) {
                mDismissed = true;
                mDismissed = true;
            }
            }
@@ -267,7 +266,7 @@ public class SwipeDismissLayout extends FrameLayout {
        // Check if the user tried to undo this.
        // Check if the user tried to undo this.
        if (mDismissed && mSwiping) {
        if (mDismissed && mSwiping) {
            // Check if the user's finger is actually back
            // Check if the user's finger is actually back
            if (deltaX < (getWidth() * DISMISS_MIN_PROGRESS)) {
            if (deltaX < (getWidth() * DISMISS_MIN_DRAG_WIDTH_RATIO)) {
                mDismissed = false;
                mDismissed = false;
            }
            }
        }
        }