summaryrefslogtreecommitdiffstats
path: root/blimp
diff options
context:
space:
mode:
authormustaq <mustaq@chromium.org>2016-02-09 13:51:26 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-09 21:52:43 +0000
commit0d62ed0066515f1f3352a05392f022830d4a5027 (patch)
tree1b47342bcd1a45aa61c35e749b419a28664d3929 /blimp
parent0f25e5b005b16eb1cb01914a7ac78bcdb711e2c3 (diff)
downloadchromium_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.java16
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,