August 16, 2015
Traccar Client version 3.3 for Android is now available on Google Play. This release includes some major changes to the app logic.
Key modifications in this release:
Starting from this version Traccar Client for Android will use HTTP protocol to send data to the server. This protocol has been supported on the server side for a very long time. It's called OsmAnd and it works on port 5055 by default. The main reason for the switch is to support acknowledgements from the server and simplify client logic. This should improve app stability and fix issues with GPS location buffering on the client side.
Buffering of GPS data has been implemented in Traccar Client for quite a while, but in many cases it didn't work correctly because the old protocol didn't support acknowledgements for the server side. Also, old version used in-memory buffering which means data was lost when service was stopped by user or Android operating system. New buffering implementation uses standard Android database to store location info, so data won't get lost even if app is re-started.
In the attempt to simplify Traccar Client logic and improve battery usage by the app I decided to remove mixed provider implementation and rely only on the two standard Android location providers: GPS and network.
New version adds an option to run service as foreground. When the mode is enabled Android treats the service as high priority and attempts to keep it running without interruptions. The downside is that the app requires to display a notification when foreground mode is enabled. The main reason for enabling this mode is to prepare for release of Android M which will bring some significant changes to how background services work (for technical details see Android M behavior changes.
As there are so many changes in this release, I expect that there will be some number of bugs. Please report any issues on GitHub bug tracker. If you want to receive news and updates about all Traccar projects, you can subscribe to the newsletter.
Discuss it on forums.