Instead of just complaining about Android, I decided to do something about it. Â It’s open source, eh? Â I dove into the code and tried to figure out why the Browser was so jumpy. Â I discovered that a single case statement controls a lot of the motions. Â It checks if the drag threshold is reached and if so, it then continues with the normal drag code. Â Unfortunately, it doesn’t reset the drag amount so you suddenly get this big jump when you start dragging. Â If you reduce this by a large factor (I chose 80% after some testing), the jump is removed and you’re still able to drag quickly.
Here’s my bug report including a code patch for fixing it: http://code.google.com/p/android/issues/detail?id=4262
A better solution would be to unravel how motions are tracked and put the drag check in a different state from the drag start. Â My coding ability is way too rusty for that.
Leave a Reply