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

Commit aa7caa60 authored by Cary Clark's avatar Cary Clark
Browse files

don't fling if there's nowhere to go

Add a test to doFling() to return quickly if the fling has
no effect. For simplicity, only test for horizontal or vertical
flings.

The man purpose is to avoid suspending webkit until the fling
animation is complete when the purpose of the touch drag is
to activate a touch event, like a swipe in superpudu.

fixes http://b/issue?id=2052852
parent 377c5c15
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -4605,6 +4605,10 @@ public class WebView extends AbsoluteLayout
            vx = vx * 3 / 4;
            vy = vy * 3 / 4;
        }
        if ((maxX == 0 && vy == 0) || (maxY == 0 && vx == 0)) {
            WebViewCore.resumeUpdate(mWebViewCore);
            return;
        }
        float currentVelocity = mScroller.getCurrVelocity();
        if (mLastVelocity > 0 && currentVelocity > 0) {
            float deltaR = (float) (Math.abs(Math.atan2(mLastVelY, mLastVelX)
@@ -4621,7 +4625,10 @@ public class WebView extends AbsoluteLayout
            }
        } else if (DebugFlags.WEB_VIEW) {
            Log.v(LOGTAG, "doFling start last=" + mLastVelocity
                    + " current=" + currentVelocity);
                    + " current=" + currentVelocity
                    + " vx=" + vx + " vy=" + vy
                    + " maxX=" + maxX + " maxY=" + maxY
                    + " mScrollX=" + mScrollX + " mScrollY=" + mScrollY);
        }
        mLastVelX = vx;
        mLastVelY = vy;