OK, there is definitely a bug in here somewhere.

I took the code for PointerLocation and run it on my droid with NO
modifications whatsoever.

When I perform the following pattern:

1) start drawing with finger 1
2) start drawing with finger 2
3) lift finger 1
4) start drawing with finger 1 again in a different location

There is an error!

It is clear to see, when you replace finger 1 back down and start
drawing, it gets an incorrect result and connects finger 1 points with
the last point drawn from finger 2.  Go run it yourself and it will be
plain as day.  It errors consistently.  Also, when you replace finger
1 back down, it will not be detected at all until a move action
occurs, at which time it is then connected to finger 2.  This
illustrates exactly the problem I am describing in my above posts.

I am running this on a Motorola Droid, so maybe it is a bug with the
droid if not the software.

If it helps, I can attach some screen-shots of the fault, but I
figured it not necessary as it is very easy to run this code and the
error will be very very obvious.

Unless this gets fixed, I can not complete the program I am working
on :(

I need touch screen controls!  Without this I cannot take over the
world!

-Colin

On Jan 7, 11:15 am, Dianne Hackborn <[email protected]> wrote:
> On Thu, Jan 7, 2010 at 7:37 AM, Mirmathrax <[email protected]> wrote:
> > 4) Finger 1 goes back down at location X, Y
> >     X = X2
> >     Y = Y2
> >     action = ACTION_POINTER_DOWN
> >     ptrID = 0
> >     ptrIndex = 0
> >     numEvents = 2
>
> > ****** Here is the first problem:   The X and Y coordinates returned
> > are incorrect, they are the coordinates for the other finger (finger
> > 2).  When finger 1 was removed, finger 2's data moved to the 0 index,
> > but it still retained ID 1.  When finger 1 went back down, it
> > correctly was identified as ID 0, but instead of adding a new index
> > for finger 1 data, it just returns index 0, which is finger 2's
> > data!
>
> You are only listing one coordinate for this event, but in fact there are
> two for both fingers.  It is really hard to understand what you are seeing
> when you are not showing all of the data in the event.
>
> > 5) Lift Finger 1 back up again from location X, Y
> >     X = X2
> >     Y= Y2
> >     action = ACTION_POINTER_UP
> >     ptrIndex = 1
> >     ptrID = 1
> >     numEvents = 2
>
> > *** WHATWHAT?!?  I lifted finger 1 up, which should be ID 0,  why is
> > ID 1 reporting that it goes up.  Also, why is it given data index 1,
> > which I would assume should be finger 1's data, but the coordinates
> > are still those of finger 2.  Yes, I have a headache too...
>
> Again, when the up occurs, the motion event contains the points for the
> finger going up as well as any other fingers that are currently down.
>
> I am not going to respond in detail to the remaining stuff, because I can't
> really understand what you are seeing due to not showing all of the data.  I
> would also again please ask that you look at Pointer Location -- you should
>  see when using it that the correct data is actually generated, and you can
> look at the code to see how the different event transitions are processed.
>
> --
> Dianne Hackborn
> Android framework engineer
> [email protected]
>
> Note: please don't send private questions to me, as I don't have time to
> provide private support, and so won't reply to such e-mails.  All such
> questions should be posted on public forums, where I and others can see and
> answer them.
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to