Oh my God, finally. I’ve been chasing after a bug – on and off – for months now, and at last I cracked it today.
In the new MakingTracksGPS, there was this minor but very irritating bug where the location marker would periodically jump back a little bit during a pinch/zoom event. I tried so many fixes for this, absolutely none of which made a blind bit of difference. Until today.
I noticed that the rendering jump occurs quite reliably if you zoom in/out, then just keep your fingers still on the screen. So it wasn’t due to the actual zoom event, but rather something that wasn’t being reset until you let go.
Upon examining the ACTION_UP code block, I noticed a variable tempDisableInterpolation being set to false, so I followed its behaviour and – lo and behold – when this remains true, it results in incorrect calls to centre display on (effectively an incorrect) location.
I did a bit of refactoring, altered (ie. improved) the general behaviour of interpolated zoom, and now there is zero trace of this tacky, jumpy display error.
Now I’m down to four things on my “Barriers To Release” list:
- UniqueID DB table(s) and handling/monitoring the recording of usage stats
- Placenames rendering
- Pre-population of map tiles on GeeOhTileServer
- Need to be conscious of storage limitations
- ProGuard builds
And that will be it, I’ll be shoving the v2.0 Beta out the door ASAP.