I would say that this is normal behavior. The up-event can definitely have (and 
often has) another coordinate than the last move-event. But I don't think it 
has anything to do with inaccuracy in the touch event handling, it's simply the 
way it works...

/Anders

-----Original Message-----
From: android-developers@googlegroups.com 
[mailto:android-develop...@googlegroups.com] On Behalf Of Peterdk
Sent: den 6 juni 2010 17:30
To: Android Developers
Subject: [android-developers] Is Android's onTouchEvent() dispatching accurate??

I have a weird bug in my piano app. Sometimes keys (and thus notes)
hang. I did a lot of debugging and narrowed it down to what looks like
androids inaccuracy of motion event handling:

 DEBUG/(2091): ACTION_DOWN A4
 DEBUG/(2091): KeyDown: A4
 DEBUG/(2091): ACTION_MOVE A4 => A4
 DEBUG/(2091): ACTION_MOVE ignoring since equal note
 DEBUG/(2091): ACTION_MOVE A4 => A4
 DEBUG/(2091): ACTION_MOVE ignoring since equal note
 DEBUG/(2091): ACTION_MOVE A4 => A4
 DEBUG/(2091): ACTION_MOVE ignoring since equal note
 DEBUG/(2091): ACTION_UP B4 //HOW CAN THIS BE????
 DEBUG/(2091): KeyUp: B4
 DEBUG/(2091): Stream is null, can't stop
 DEBUG/(2091): Hanging Note: A4 X=240-287 EventX=292 Y=117-200
EventY=164
 DEBUG/(2091): KeyUp Note:   B4 X=288-335 EventX=292 Y=117-200
EventY=164

Clearly it can be seen here that out of nowhere I suddenly have an
ACTION_UP for another note. Shouldn't I definitely get a ACTION_MOVE
first?

As shown in the end of the log, it's definitely not an error in region
detection, since the ACTION_UP event is clearly in the B4 region.


Every onTouchEvent() call is logged, so the log is accurate.

The relevant pseudo-code for the ACTION_MOVE logging is:

 Key oldKey = Key.get(event.getHistoricalX(), event.getHistoricalY());
 Key newKey = Key.get(event.getX(), event.getY());


Is this normal behaviour for Android (the jumping in coordinates)??
Can ACTION_UP events just arise without any previous ACTION_MOVE
towards it coordinates??


-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to