Pointer IDs are arbitrary integers. The only guarantee is that they will be unique for a given finger as long as that finger remains down. Once the finger goes up, the id may be reused for a different finger, or it may not. It really depends.
The problem with spurious ACTION_DOWN events is strictly a software issue, not hardware. It happens when applications filter or modify the stream of touch events in a manner that causes them to become incomplete or inconsistent. The bugs can be quite subtle. Jeff. On May 16, 3:56 pm, MichaelEGR <[email protected]> wrote: > ugh! Thanks for posting this message as this is a gnarly one and an > example of ODM fragmentation if pointed IDs are not indexing correctly > to the proper point data at least. I never was impressed by themultitouchAPI > and always thought it wasn't thought out well and > simply just tacked onto MotionEvent. Dirty as you say it is correct. I > also wasn't pleased with the lack of documentation and unclear > contract. Perhaps this lack of documentation led to this potential ODM > fault. As for spurious ACTION_DOWN events this could be from varied > quality of touchscreen hardware too. > > So from my reading of your post you are saying that pointer IDs are > not recycled and that the data of subsequent pointer IDs is not > correct at the specified array index? > > Not looking forward to coming up with a solution for my platform / > middleware / custom event system and certainly am not excited if I > need to buy an Experia Play just for this, but w/ talking with Robert > G. it sounds like button support on this device is a bit wacky too. If > I understand correctly button presses don't generate key events? Hrm; > I hope that is not the case as I hate to have to waste $500+ to fix > these kinds of issues. Likely I'll pick one up, fix the issues, then > sell it. > > Regards, > --Mike > > On May 16, 12:58 pm, Mario Zechner <[email protected]> wrote: > > > > > > > > > A user reported an ArrayIndexOutOfBoundsException today in ourmulti-> > > touchhandler. We store x/y/touchState on a per pointer id basis in an > > array. Dirty? Yes, but it worked on all devices so far. Usually > > pointer ids are handed out like this: -- 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

