diff options
| author | 2011-03-13 18:13:42 -0700 | |
|---|---|---|
| committer | 2011-03-14 15:19:13 -0700 | |
| commit | cc8fa160fbfcd17f369c15a2d33959fbb090ac6e (patch) | |
| tree | 3d5557b36e1ca56e8d755f8792caac3c74b62e4c | |
| parent | 9e173ececf985c1dcd32e3cc2627499919fc329b (diff) | |
b/3392594 keep the remain touch points when one is ended.
This is the Java side code change for b/3392594.
It adds an action index into the touch event data and pass it
to the native side.
Change-Id: Ibb393e62a590d0fff1dd3172041748e2b10501d6
| -rw-r--r-- | core/java/android/webkit/WebView.java | 4 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewCore.java | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 8ef745b1ea3d..4aa1f5eeeb18 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -5964,6 +5964,10 @@ public class WebView extends AbsoluteLayout int y = viewToContentY((int) ev.getY(c) + mScrollY); ted.mPoints[c] = new Point(x, y); } + if (ted.mAction == MotionEvent.ACTION_POINTER_DOWN + || ted.mAction == MotionEvent.ACTION_POINTER_UP) { + ted.mActionIndex = ev.getActionIndex(); + } ted.mMetaState = ev.getMetaState(); ted.mReprocess = true; ted.mMotionEvent = MotionEvent.obtain(ev); diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index 979eb2b063c4..bed77ef7357c 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -572,7 +572,7 @@ final class WebViewCore { int framePtr, int nodePtr, int x, int y); private native boolean nativeHandleTouchEvent(int action, int[] idArray, - int[] xArray, int[] yArray, int count, int metaState); + int[] xArray, int[] yArray, int count, int actionIndex, int metaState); private native void nativeUpdateFrameCache(); @@ -829,6 +829,7 @@ final class WebViewCore { int mAction; int[] mIds; // Ids of the touch points Point[] mPoints; + int mActionIndex; // Associated pointer index for ACTION_POINTER_DOWN/UP int mMetaState; boolean mReprocess; MotionEvent mMotionEvent; @@ -1344,7 +1345,7 @@ final class WebViewCore { ted.mNativeLayerRect); } ted.mNativeResult = nativeHandleTouchEvent(ted.mAction, ted.mIds, - xArray, yArray, count, ted.mMetaState); + xArray, yArray, count, ted.mActionIndex, ted.mMetaState); Message.obtain( mWebView.mPrivateHandler, WebView.PREVENT_TOUCH_ID, |