This is really strange, as it works on some devices, but not all. It works perfectly on my friend's S7 Edge, for example, but not on S7's for several customers who contacted me.
It looks like the current CliMate method of getting the location using Android's LocationManager is just no longer reliable on the latest devices running 6.0, even though it should be.
So the newer recommended method using Google Play Services is the way to go. A few users having problems have helped me out by running some tester apps that successfully get the location using Google Play Services.
At the same time I am moving the development environment from Eclipse to Android Studio, so I can take advantage of the easier way of integrating such newer services. This is not trivial, and has given me a lot of headaches but is the way forward.
The new theme such as Townhouse and the forthcoming Pirate theme are pretty slow to start up, because they are using so many layers of views to display the various animations. Using Android Studio, I can start to use some new features such as PercentageLayouts, which will drastically reduce the number of layers I need to show such complex animations.
So the next steps:
- Convert CliMate to run under Android Studio
- Add the new Google Play Services to get the current location
- Test and the publish the update so customers having issues get the fix
- Use PercentageLayout on the partially completed Pirate Theme
- Finish the Pirate Theme
- Publish an update
- Change the Townhouse and other themes to use PercentageLayout.