My App is totally broken with Jelly Bean
My problem is that in CardBoard (
https://play.google.com/store/apps/details?id=de.woinowski.cardboard) moving around cards (implemented as panels) does not work any more. I had tried a quick fix, but this does not help.
My analysis so far:
- Touch and redraw may be out of order, so that when you do a dragging implementation, the usual delta method (save position at up or last move, move panle by delta and so on...) does not work
- p.BringToFront within in a touch event causes the touch to be cancelled (not in previous Android versions)
I am at a loss and I fear a change in Basic4Android would also not help. Meaning: I need to do a redesign of touch event handling, which I am not looking forward to.
At the heart of the problem seem to be some tricks to "improve" user experience with touch events. Unless your App gets broken, that is :sign0148:
On
Android 4.1 for Developers | Android Developers I found the following about that:
"To ensure a consistent framerate, Android 4.1 extends vsync timing across all drawing and animation done by the Android framework. Everything runs in lockstep against a 16 millisecond vsync heartbeat — application rendering, touch events, screen composition, and display refresh — so frames don’t get ahead or behind.
Android 4.1 also adds triple buffering in the graphics pipeline, for more consistent rendering that makes everything feel smoother, from scrolling to paging and animations.
Android 4.1 reduces touch latency not only by synchronizing touch to vsync timing, but also by actually anticipating where your finger will be at the time of the screen refresh. This results in a more reactive and uniform touch response. In addition, after periods of inactivity, Android applies a CPU input boost at the next touch event, to make sure there’s no latency."