am a45e9251: am dcd58cfd: Merge change I7b9328c7 into eclair

Merge commit 'a45e925108f6c9d35d9e7b5e8def9aba49ee0dba' into eclair-mr2-plus-aosp

* commit 'a45e925108f6c9d35d9e7b5e8def9aba49ee0dba':
  Fix issue #2300232: Bugs in resolving conflicting pointers
This commit is contained in:
Dianne Hackborn
2009-12-02 19:01:31 -08:00
committed by Android Git Automerger

View File

@@ -313,14 +313,17 @@ public class InputDevice {
long bestDistance = -1;
int bestIndex = -1;
for (int j=0; j<lastNumPointers; j++) {
if (!allowOverlap && last2Next[j] < 0) {
// If we are not allowing multiple new points to be assigned
// to the same old pointer, then skip this one if it is already
// detected as a conflict (-2).
if (!allowOverlap && last2Next[j] < -1) {
continue;
}
final int jd = j * MotionEvent.NUM_SAMPLE_DATA;
final int xd = lastData[jd + MotionEvent.SAMPLE_X] - x1;
final int yd = lastData[jd + MotionEvent.SAMPLE_Y] - y1;
final long distance = xd*(long)xd + yd*(long)yd;
if (j == 0 || distance < bestDistance) {
if (bestDistance == -1 || distance < bestDistance) {
bestDistance = distance;
bestIndex = j;
}