diff options
| author | Huahui Wu <hwu@google.com> | 2011-03-13 18:13:42 -0700 |
|---|---|---|
| committer | Huahui Wu <hwu@google.com> | 2011-03-14 13:21:23 -0700 |
| commit | 2d3ef37ae6ce91c759e57dda7f16d148fdeee35a (patch) | |
| tree | 4a4047b55bda552e93c8f8baf9198dfc2f2094a1 /core/java/android | |
| parent | ff6f4c2eff8a676187296b968388f80e744a9ce8 (diff) | |
| download | frameworks_base-2d3ef37ae6ce91c759e57dda7f16d148fdeee35a.zip frameworks_base-2d3ef37ae6ce91c759e57dda7f16d148fdeee35a.tar.gz frameworks_base-2d3ef37ae6ce91c759e57dda7f16d148fdeee35a.tar.bz2 | |
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
Diffstat (limited to 'core/java/android')
| -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 9b1f157..7f655db 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -5955,6 +5955,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 b920a30..6faeaca 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -563,7 +563,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(); @@ -820,6 +820,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; @@ -1335,7 +1336,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, |
