Add ACCESS_WIFI_STATE in AndroidManifest
Add ACCESS_NETWORK_STATE in AndroidManifest
Move broadcast receiver initialisation on top
Add WifiStatusReceiver Class for #6 in MainActivity
See #6, register and unregister WifiStatus receiver in MainActivity
Add showToast in GpSLoggerApplication
See #6, add isWifiConnected() in GpsLoggerApplication
Change isTrackingRun to isGPSRunning
Document broadcastLocation
See #5, refactor to stopLocationProviders and startLocationProviders
See #5 refactor stopping of location providers by explicitly stopping each location provider instead of looping thru locationListeners array
Fix #8, change time and distance intervals for requestLocationUpdate based on Speed
Fix #8, change default time interval to 5 minutes = 300 seconds and 10 meters
Fix #8, update minimum time and distance only if the GPS is running
See #6 and #8. Adjust time and interval based on WIFI state.
Fix #8 Adjust time and distance interval only if there is a change in speed
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