LocationManager.getBestProvider() stop returning "fused
TL;DR any app running on K3 that uses Maplibre or Mapbox will not get location updates.
This is more of an OS issue, not the EXT SDK itself.
In my previous issue https://support.hammerhead.io/hc/en-us/community/posts/36705323933467-LocationManager-no-longer-emitting-values I was having trouble getting location updates from LocationManager on the K3. The issue was that I would ask for bestLocationProvider, which would return "fused" provider, but then the fused provider didn't actually emit any location data. I had to manually switch to "gps" provider. All this worked fine in my code where I directly interacted with LocationManager.
However I also use Mapbox and Maplibre mapping libraries. Those libraries internally also rely on LocationManager, ask for bestLocationProvider, and experience the same problem. Those libraries do not expose a way to explicitly tell LocationManager which provider to use.
It should be as simple as "disabling" the fused provider so that
getBestProvider(criteria = ... , enabledOnly = true)
does not return fused provider. FWIW this is only an issue on latest K3 OS. The OS running on K2 correctly returns "gps" when asking for best provider.
Please sign in to leave a comment.
Comments
0 comments