summaryrefslogtreecommitdiff
path: root/core/java/android/view/MotionEvent.java
diff options
context:
space:
mode:
authorMichael Wright <michaelwr@google.com>2014-03-19 11:51:26 -0700
committerMichael Wright <michaelwr@google.com>2014-03-24 17:33:29 -0700
commit9adca065148f704187866c53cceda8e0050b1f35 (patch)
tree2e829570fbd30ba344474f360b409aa5ae9afe78 /core/java/android/view/MotionEvent.java
parentc9b0d582071c7b4fb2538b86e2e0c4c2f914b664 (diff)
Respect ACTION_CANCEL for joystick fallbacks
Also change MotionEvent.PointerCoords bit packing and unpacking methods to be consistent with BitSets which are now used on the native PointerCoords object. Bug: 11480300 Change-Id: Ic6c7ebda5c545d07ea1ed259ca1f1184ccf85f29
Diffstat (limited to 'core/java/android/view/MotionEvent.java')
-rw-r--r--core/java/android/view/MotionEvent.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/core/java/android/view/MotionEvent.java b/core/java/android/view/MotionEvent.java
index ddce3ceef753..6378ffd99749 100644
--- a/core/java/android/view/MotionEvent.java
+++ b/core/java/android/view/MotionEvent.java
@@ -3372,11 +3372,11 @@ public final class MotionEvent extends InputEvent implements Parcelable {
throw new IllegalArgumentException("Axis out of range.");
}
final long bits = mPackedAxisBits;
- final long axisBit = 1L << axis;
+ final long axisBit = 0x8000000000000000L >>> axis;
if ((bits & axisBit) == 0) {
return 0;
}
- final int index = Long.bitCount(bits & (axisBit - 1L));
+ final int index = Long.bitCount(bits & ~(0xFFFFFFFFFFFFFFFFL >>> axis));
return mPackedAxisValues[index];
}
}
@@ -3425,8 +3425,8 @@ public final class MotionEvent extends InputEvent implements Parcelable {
throw new IllegalArgumentException("Axis out of range.");
}
final long bits = mPackedAxisBits;
- final long axisBit = 1L << axis;
- final int index = Long.bitCount(bits & (axisBit - 1L));
+ final long axisBit = 0x8000000000000000L >>> axis;
+ final int index = Long.bitCount(bits & ~(0xFFFFFFFFFFFFFFFFL >>> axis));
float[] values = mPackedAxisValues;
if ((bits & axisBit) == 0) {
if (values == null) {