Fused location provider blocks, despite accurate GPS location
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 14.6k
- Forks
- 3.2k
- Avg merge
- 12d 11h
- Merged PRs (30d)
- 4
Description
(originally opened here)
Describe the bug
Occasionally on /e/OS the fused location will take a very long time to update, despite the device having an accurate GPS location. My understanding of the Google fused location implementation is that fused location will always prefer GPS if the GPS is active for any reason, and I it seems wrong to me that the location fusing is blocked (probably by a slow network call) if the GPS is active and has an accurate fix.
To Reproduce
We have had issues reproducing this bug but I strongly suspect that it's due to latency in the network location API calls, so I would start by artificially introducing latency there to see what happens to the fused provider.
Expected behavior
I would expect the fused provider to emit GPS location updates despite the lack of accurate network location.
Screenshots
I'm having some issues with the attachment upload but there's a video here:
https://drive.google.com/file/d/1c-byuhu9xTzSe1CMrnIm2YsRG1_VpqsN/view?usp=sharing
In this video, the device is on a moving train as you can see from the GPS provider, but the fused provider gave a stale location from many minutes ago.
System
Android Version: 13
Custom ROM: e/OS 3.0.1
Additional context
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the fused location provider and its network location API calls, then reproduce the issue by introducing artificial latency in those calls while GPS has an accurate fix. Done means the fused provider emits current GPS updates instead of retaining a stale network-derived location.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100