Location retrieval is improved

Now we get the most accurate location found in all providers.

If location is not found now, and it was found previously,
it is reconstructed from the latitude and longitude stored in shared prefs.