Comment 1 for bug 1348334

Revision history for this message
Charles Kerr (charlesk) wrote :

So, there are a couple of parts to this bug.

1. com.ubuntu.location.Service can't be started by DBus, so indicator-location's ua_location_service_controller_*() function calls are failing. This is what tvoss meant on Friday when he said this was related to a bug he was working on, but although #1338610 does fix the platform-api crash, we still need to make sure that com.ubuntu.location.Service can be found s.t. these calls actually work. IMO this is the primary bug because none of this works if c.u.l.Service isn't available.

2. When ua_location_service_controller_enable_gps() fails as a result of 1., the UI's switch falls out of sync with indicator-location-service, so to the user it /looks/ like GPS is turned on even when it isn't. I think this is how it's happening:
2a. user clicks on a ubuntu-ui-toolkit switch control
2b. unity8 toggles the switch control to give the user visual feedback
2c. unity8 passes the toggle information back to indicator-location-service
2d. indicator-location-service's UAL call fails, so the service state doesn't change
2e. since the service's state doesn't change, nothing gets posted to unity8 to fix the incorrect visuals set in 2b
IMO the fix to here is for the UI to resync its state a moment after it sends the information back to the service. On the one hand, this is a lesser bug since its trigger will go away when 1. is fixed. On the other hand, this bug could come back in the future, as it's possible for any indicator UI switch control.