diff options
author | mustaq <mustaq@chromium.org> | 2016-02-09 13:51:26 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-09 21:52:43 +0000 |
commit | 0d62ed0066515f1f3352a05392f022830d4a5027 (patch) | |
tree | 1b47342bcd1a45aa61c35e749b419a28664d3929 /blimp | |
parent | 0f25e5b005b16eb1cb01914a7ac78bcdb711e2c3 (diff) | |
download | chromium_src-0d62ed0066515f1f3352a05392f022830d4a5027.zip chromium_src-0d62ed0066515f1f3352a05392f022830d4a5027.tar.gz chromium_src-0d62ed0066515f1f3352a05392f022830d4a5027.tar.bz2 |
Swapped major/minor radii when minor radius is greater.
We have seen some old Android devices wrongly reporting major radius
less than minor radius, causing a DCHECK failure.
BUG=560814
Review URL: https://codereview.chromium.org/1682753002
Cr-Commit-Position: refs/heads/master@{#374481}
Diffstat (limited to 'blimp')
-rw-r--r-- | blimp/client/app/android/java/src/org/chromium/blimp/BlimpView.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/blimp/client/app/android/java/src/org/chromium/blimp/BlimpView.java b/blimp/client/app/android/java/src/org/chromium/blimp/BlimpView.java index caa69ea..c86c94b 100644 --- a/blimp/client/app/android/java/src/org/chromium/blimp/BlimpView.java +++ b/blimp/client/app/android/java/src/org/chromium/blimp/BlimpView.java @@ -100,6 +100,18 @@ public class BlimpView extends SurfaceView implements SurfaceHolder.Callback { if (!isValidTouchEventActionForNative(eventAction)) return false; int pointerCount = event.getPointerCount(); + + float[] touchMajor = {event.getTouchMajor(), pointerCount > 1 ? event.getTouchMajor(1) : 0}; + float[] touchMinor = {event.getTouchMinor(), pointerCount > 1 ? event.getTouchMinor(1) : 0}; + + for (int i = 0; i < 2; i++) { + if (touchMajor[i] < touchMinor[i]) { + float tmp = touchMajor[i]; + touchMajor[i] = touchMinor[i]; + touchMinor[i] = tmp; + } + } + boolean consumed = nativeOnTouchEvent(mNativeBlimpViewPtr, event, event.getEventTime(), eventAction, pointerCount, event.getHistorySize(), event.getActionIndex(), @@ -107,8 +119,8 @@ public class BlimpView extends SurfaceView implements SurfaceHolder.Callback { pointerCount > 1 ? event.getX(1) : 0, pointerCount > 1 ? event.getY(1) : 0, event.getPointerId(0), pointerCount > 1 ? event.getPointerId(1) : -1, - event.getTouchMajor(), pointerCount > 1 ? event.getTouchMajor(1) : 0, - event.getTouchMinor(), pointerCount > 1 ? event.getTouchMinor(1) : 0, + touchMajor[0], touchMajor[1], + touchMinor[0], touchMinor[1], event.getOrientation(), pointerCount > 1 ? event.getOrientation(1) : 0, event.getAxisValue(MotionEvent.AXIS_TILT), pointerCount > 1 ? event.getAxisValue(MotionEvent.AXIS_TILT, 1) : 0, |