From 7a18d1838d96734de4f2cce6ebb0b0c31b0cf8c7 Mon Sep 17 00:00:00 2001 From: Pavel Rotek Date: Sat, 20 Apr 2019 21:21:36 +0200 Subject: [PATCH 1/2] fix velocity --- .../com/facebook/react/views/scroll/ReactScrollView.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java index fffdf27704b3d7..bbc06cd9763f30 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java @@ -314,8 +314,15 @@ public void fling(int velocityY) { // // Hence, we can use the absolute value from whatever the OS gives // us and use the sign of what mOnScrollDispatchHelper has tracked. - final int correctedVelocityY = (int)(Math.abs(velocityY) * Math.signum(mOnScrollDispatchHelper.getYFlingVelocity())); + //final int correctedVelocityY = (int)(Math.abs(velocityY) * Math.signum(mOnScrollDispatchHelper.getYFlingVelocity())); + //BEGIN pavel.rotek wrong velocity on old phones + float signum = Math.signum(mOnScrollDispatchHelper.getYFlingVelocity()); + if (signum == 0) { + signum = Math.signum(velocityY); + } + final int correctedVelocityY = (int)(Math.abs(velocityY) * signum); + //END if (mPagingEnabled) { flingAndSnap(correctedVelocityY); From 75c210d39dab697f4dfdc9b12c9c2d5c208bcc16 Mon Sep 17 00:00:00 2001 From: Christoph Nakazawa Date: Tue, 23 Apr 2019 10:38:49 +0100 Subject: [PATCH 2/2] Update ReactScrollView.java --- .../java/com/facebook/react/views/scroll/ReactScrollView.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java index bbc06cd9763f30..e98c1864c36f55 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java @@ -314,15 +314,11 @@ public void fling(int velocityY) { // // Hence, we can use the absolute value from whatever the OS gives // us and use the sign of what mOnScrollDispatchHelper has tracked. - //final int correctedVelocityY = (int)(Math.abs(velocityY) * Math.signum(mOnScrollDispatchHelper.getYFlingVelocity())); - - //BEGIN pavel.rotek wrong velocity on old phones float signum = Math.signum(mOnScrollDispatchHelper.getYFlingVelocity()); if (signum == 0) { signum = Math.signum(velocityY); } final int correctedVelocityY = (int)(Math.abs(velocityY) * signum); - //END if (mPagingEnabled) { flingAndSnap(correctedVelocityY);