From 73cc48ddb70bdb2ddeb43cb7fa32310bb9c075c4 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 6 Jan 2020 18:35:31 +0100 Subject: [PATCH] Revert "Scroll instead of fling" This reverts commit 3c324e3de9d080242a03625fc1362df3b5245ff3. --- .../eu/faircode/email/FragmentMessages.java | 29 +---------- .../java/eu/faircode/email/SwipeListener.java | 50 +++++-------------- .../baseline_keyboard_arrow_left_24.xml | 10 ---- .../baseline_keyboard_arrow_right_24.xml | 10 ---- app/src/main/res/layout/fragment_messages.xml | 24 --------- 5 files changed, 15 insertions(+), 108 deletions(-) delete mode 100644 app/src/main/res/drawable/baseline_keyboard_arrow_left_24.xml delete mode 100644 app/src/main/res/drawable/baseline_keyboard_arrow_right_24.xml diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 15e24b03df..788bde777c 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -76,7 +76,6 @@ import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.ImageButton; -import android.widget.ImageView; import android.widget.SeekBar; import android.widget.Spinner; import android.widget.TextView; @@ -193,8 +192,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. private FixedRecyclerView rvMessage; private View vwAnchor; private SeekBar sbThread; - private ImageView ivLeft; - private ImageView ivRight; private ImageButton ibDown; private ImageButton ibUp; private ImageButton ibSeen; @@ -384,8 +381,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. rvMessage = view.findViewById(R.id.rvMessage); vwAnchor = view.findViewById(R.id.vwAnchor); sbThread = view.findViewById(R.id.sbThread); - ivLeft = view.findViewById(R.id.ivLeft); - ivRight = view.findViewById(R.id.ivRight); ibDown = view.findViewById(R.id.ibDown); ibUp = view.findViewById(R.id.ibUp); ibSeen = view.findViewById(R.id.ibSeen); @@ -987,8 +982,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. tvNoEmail.setVisibility(View.GONE); tvNoEmailHint.setVisibility(View.GONE); sbThread.setVisibility(View.GONE); - ivLeft.setVisibility(View.GONE); - ivRight.setVisibility(View.GONE); ibDown.setVisibility(View.GONE); ibUp.setVisibility(View.GONE); ibSeen.setVisibility(View.GONE); @@ -1059,7 +1052,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. final SwipeListener swipeListener = new SwipeListener(getContext(), new SwipeListener.ISwipeListener() { @Override - public boolean onSwipedRight() { + public boolean onSwipeRight() { if (prev == null) { Animation bounce = AnimationUtils.loadAnimation(getContext(), R.anim.bounce_right); view.startAnimation(bounce); @@ -1070,7 +1063,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. } @Override - public boolean onSwipedLeft() { + public boolean onSwipeLeft() { if (next == null) { Animation bounce = AnimationUtils.loadAnimation(getContext(), R.anim.bounce_left); view.startAnimation(bounce); @@ -1079,24 +1072,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. return (next != null); } - - @Override - public void onSwipingLeft() { - ivLeft.setVisibility(View.VISIBLE); - ivRight.setVisibility(View.GONE); - } - - @Override - public void onSwipingRight() { - ivLeft.setVisibility(View.GONE); - ivRight.setVisibility(View.VISIBLE); - } - - @Override - public void onCancel() { - ivLeft.setVisibility(View.GONE); - ivRight.setVisibility(View.GONE); - } }); rvMessage.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() { diff --git a/app/src/main/java/eu/faircode/email/SwipeListener.java b/app/src/main/java/eu/faircode/email/SwipeListener.java index dafc07e654..e19d6373e1 100644 --- a/app/src/main/java/eu/faircode/email/SwipeListener.java +++ b/app/src/main/java/eu/faircode/email/SwipeListener.java @@ -31,12 +31,12 @@ public class SwipeListener implements View.OnTouchListener { SwipeListener(final Context context, final ISwipeListener listener) { final int width = context.getResources().getDisplayMetrics().widthPixels; - final int MOVE_THRESHOLD = width / 10; - final int SWIPE_THRESHOLD = width / 3; + final int MOVE_THRESHOLD = width / 3; + final int SPEED_THRESHOLD = width / 2; gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { @Override - public boolean onScroll(MotionEvent me1, MotionEvent me2, float distanceX, float distanceY) { + public boolean onFling(MotionEvent me1, MotionEvent me2, float vx, float vy) { if (me1 == null || me2 == null) return false; if (me1.getPointerCount() > 1 || me2.getPointerCount() > 1) @@ -45,39 +45,21 @@ public class SwipeListener implements View.OnTouchListener { boolean consumed = false; int dx = Math.round(me2.getX() - me1.getX()); int dy = Math.round(me2.getY() - me1.getY()); - if (Math.abs(dx) > Math.abs(dy)) { - Log.i("Swipe dx=" + dx + "/" + SWIPE_THRESHOLD); - try { - if (Math.abs(dx) > SWIPE_THRESHOLD) { + Log.i("Swipe dx=" + dx + "/" + MOVE_THRESHOLD + " vx=" + vx + "/" + SPEED_THRESHOLD); + if (Math.abs(dx) > MOVE_THRESHOLD && Math.abs(vx) > SPEED_THRESHOLD) + try { if (dx > 0) - consumed = listener.onSwipedRight(); + consumed = listener.onSwipeRight(); else - consumed = listener.onSwipedLeft(); - } else if (Math.abs(dx) > MOVE_THRESHOLD) { - if (dx > 0) - listener.onSwipingRight(); - else - listener.onSwipingLeft(); + consumed = listener.onSwipeLeft(); + } catch (Throwable ex) { + Log.e(ex); } - } catch (Throwable ex) { - Log.e(ex); - } } return consumed; } - }) { - @Override - public boolean onTouchEvent(MotionEvent ev) { - if (ev.getAction() == MotionEvent.ACTION_UP) - try { - listener.onCancel(); - } catch (Throwable ex) { - Log.e(ex); - } - return super.onTouchEvent(ev); - } - }; + }); } public boolean onTouch(@NonNull View view, @NonNull MotionEvent event) { @@ -85,14 +67,8 @@ public class SwipeListener implements View.OnTouchListener { } interface ISwipeListener { - boolean onSwipedRight(); + boolean onSwipeRight(); - boolean onSwipedLeft(); - - void onSwipingLeft(); - - void onSwipingRight(); - - void onCancel(); + boolean onSwipeLeft(); } } \ No newline at end of file diff --git a/app/src/main/res/drawable/baseline_keyboard_arrow_left_24.xml b/app/src/main/res/drawable/baseline_keyboard_arrow_left_24.xml deleted file mode 100644 index 836fcbff41..0000000000 --- a/app/src/main/res/drawable/baseline_keyboard_arrow_left_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/baseline_keyboard_arrow_right_24.xml b/app/src/main/res/drawable/baseline_keyboard_arrow_right_24.xml deleted file mode 100644 index 07ea9e8169..0000000000 --- a/app/src/main/res/drawable/baseline_keyboard_arrow_right_24.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/layout/fragment_messages.xml b/app/src/main/res/layout/fragment_messages.xml index 79b5c64227..71b9b1e8e1 100644 --- a/app/src/main/res/layout/fragment_messages.xml +++ b/app/src/main/res/layout/fragment_messages.xml @@ -200,30 +200,6 @@ app:layout_constraintEnd_toEndOf="parent" app:srcCompat="@drawable/baseline_reply_24" /> - - - -