mendhak / gpslogger

:satellite: Lightweight GPS Logging Application For Android.
https://gpslogger.app
Other
1.99k stars 607 forks source link

Bug: No provider available after wakeup #1159

Closed slydiman closed 2 months ago

slydiman commented 3 months ago

GPSLogger v131. The device: Car multimedia Topway TS10 platform on UIS7862S, Android 10. GPSLogger is configured to record to the custom URL (Home Assistant) each 10 sec and to Google Drive each 5 min. Logging interval: 10s Absolute time to GPS fix: 0 GPSLogger auto start and works fine in the background until sleep.

After waking up GPSLogger writes the following to logs and stops working.

No provider available!
No GPS provider available. Please check your location settings and enable a  location provider.

Then 2 scenarios are possible:

1) Wait a few seconds and manually switch to the GPSLogger window - the recording will immediately resume and will work fine.

2) Wait a few seconds and manually switch to the GPSLogger window. The recording is stoppped. I see the orange warning in the upper right corner. Pressing Stop/Start resumes the recording immediately.

It is necessary to update the behavior - do not stop recording if no provider temporarily available. Note the recording has been successfully started before sleeping.

I tried v130 and v131 - the behavior is the same. I tried to configure switching to GPSLogger window for 3 seconds after wake up. It does not help. Anyway it is better to keep GPSLogger in the background.

mendhak commented 2 months ago

I'm able to get this working, in this screenshot I had location services turned off. It gives the warning. I turn location services back on. After a few minutes the app times out, waits, then starts again.

This timeout is based on the absolute so I think the result of setting it to 0 is unknown. If you give it some higher value you should see the behaviour here. In my case it's the default 120sec.

Screenshot_20240825-083443

slydiman commented 2 months ago

This timeout is based on the absolute so I think the result of setting it to 0 is unknown. If you give it some higher value you should see the behaviour here. In my case it's the default 120sec.

The description for absolute timeout is the following:

Absolute time to GPS fix
Number of seconds after which the app gives up on trying to acquire a fix, regardless of other settings. 
This is especially useful for when you are inside buildings to prevent the GPS from draining battery.  
Set to 0 for no timeout.

Probably you need to fix the description.

I got some other issues. It seems Discard offline locations does not work for the custom URL. The track on the map in the Home Assistant looks ugly: point 1 - old point - point 2 - old point - point 3 - old point, etc.

Finally I have switched to Traccar Client. Sorry.

mendhak commented 2 months ago

Oh I meant, when setting it to 0 the behaviour for the unavailable provider scenario above, but it's effectively infinite. Yeah the description could be better.

Anyway if Traccar works for you that's good too, I might give it a try as well.