Skip to content

Fix cell-based location accuracy and geocoder robustness#35

Open
thomasbuilds wants to merge 4 commits into
GrapheneOS:16-qpr2from
thomasbuilds:16-qpr2
Open

Fix cell-based location accuracy and geocoder robustness#35
thomasbuilds wants to merge 4 commits into
GrapheneOS:16-qpr2from
thomasbuilds:16-qpr2

Conversation

@thomasbuilds
Copy link
Copy Markdown

  • report cell-based location accuracy as 1-sigma: the Wi-Fi path divides the 6-sigma estimate by 6 to report the 1-sigma accuracy Location expects, but the cell path reported the raw 6-sigma value, so cell-based fixes reported a radius 6 times too large.

  • skip geocoder features with fewer than two coordinates: an empty or single-element coordinates array threw IndexOutOfBoundsException, which is not an IOException and escaped the handler in GeocodeProviderImpl, leaving the request callback uncompleted.

  • reuse a single executor in WifiApRanger: each range() call created a new single-thread executor that was only reclaimed by finalization.

  • fix forward geocode parameter logging: lowerLeftLatitude logged the longitude value and the upperRightLongitude label was miscased.

The Wi-Fi path divides the 6-sigma estimate by 6 to report the 1-sigma accuracy Location expects, but the cell path reported the raw 6-sigma value, making cell-based fixes report a radius 6 times too large.
An empty or single-element coordinates array would throw IndexOutOfBoundsException, which isn't an IOException and so escapes the handler in GeocodeProviderImpl, leaving the request's callback uncompleted.
Each range() call created a new single-thread executor that was only reclaimed by finalization.
mio-19 added a commit to mio-19/repo that referenced this pull request May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant