behaviour based on accuracy level requested/accuracy of sources
Submitted by Fabrice Bellet
Description
Hi!
The code in function gclue_locator_start() indicates that geoclue will only start sources if they can provide an accuracy lower (coarser) or equal to the accuracy level requested by the client. I assume this should be understood as a policy that protects the privacy of the user and doesn't give too precise information if the applications doesn't request for it.
But in this case, a modem with a GPS won't be able to provide an exact position (level 8) to apps like firefox/epiphany when they request geolocation services (requested level = 4 = city) ?
On the contrary, a requested accuracy level could be understood as "the application is not interested in accuracy coarser than X, because a too imprecise location is useless for the app".
Moreover, the related logic in on_avail_accuracy_level_changed() seems inconsistent to me between the two tests of the if/then/else statement: to stay with the logic of gclue_locator_start(), a source should be stopped is its accuracy level becomes higher than locator->priv->accuracy_level.
Of course, the whole tests could be reverted if we consider the level as a min_accuracy instead of a max_accuracy ?