upon exit, Geoclue does not leave modem manager settings as it found them
if the user has GPS or 3gpp location tracking enabled via modem manager before starting a geoclue agent, geoclue unexpectedly disables those upon exit. this causes Geoclue-based applications like Gnome Maps to not play well with other services which might be querying location data not through Geoclue.
for example:
mmcli -m any --location-enable-3gpp
mmcli -m any --location-get
--------------------------------
3GPPP | operator mcc: (clipped from paste)
| operator mnc: (clipped from paste)
| ...
-
where-am-i
(or some other geoclue consumer like `gnome-maps) mmcli -m any --location-get
(empty)
mmcli -m any --location-status
can also be used to confirm that gps and 3gpp sources are enabled before, but not after, launching the geoclue agent.
this might be particularly problematic for GPS location sources, which often take minutes to acquire a location fix after a cold start, but there's enough complexity that the full implications of this interaction aren't easy for me to figure out. manually re-issuing the --location-enable
commands seems to be enough to get location output working again for my particular circumstances.