See #6 and #8. Start location service automatically when WIFI is disconnected.
When moving, location updates if distance > 10 meters and time > time Delay dependent on speed
Relax dynamic location updates in #8. If you are walking < 20kph, then location updates happen every 30 seconds. If the car is slowly moving > 20 kph but < 100kph, then location updates every minute. If the speed > 100 kph, then location updates every 2 minutes.
Fix #9, when the device has WIFI then poll every 5 minutes only
Fix #9 by polling every 5 minutes if the user allows it or tracking is set to ON
Refactor gpsApp.isServiceRuninng to gpsApp.isON
Refactor from isGPSRunning to isGPSActive