Actions aren't sending state over the bus
Bug #1348334 reported by
Ken VanDine
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Indicator Location |
Fix Released
|
High
|
Charles Kerr | ||
location-service |
Fix Released
|
High
|
Thomas Voß | ||
platform-api |
Fix Released
|
High
|
Thomas Voß | ||
indicator-location (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
location-service (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
platform-api (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Trying to use QDBusActionGroup it toggle gps enabled in system-settings I found that the enabled state isn't being sent. Same is true when toggling from inside the indicator.
Related branches
lp:~thomas-voss/location-service/fix-1353413
- Manuel de la Peña (community): Approve
- PS Jenkins bot: Approve (continuous-integration)
-
Diff: 155 lines (+95/-1)2 files modifiedinclude/location_service/com/ubuntu/location/service/skeleton.h (+24/-1)
src/location_service/com/ubuntu/location/service/skeleton.cpp (+71/-0)
lp:~thomas-voss/platform-api/fix-1348334
- Pete Woods (community): Approve
- PS Jenkins bot: Approve (continuous-integration)
-
Diff: 130 lines (+84/-9)2 files modifiedsrc/ubuntu/application/common/application/location/controller.cpp (+11/-2)
src/ubuntu/application/common/application/location/instance.h (+73/-7)
lp:~charlesk/indicator-location/lp-1348334-ualc-status
- Thomas Voß (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 67 lines (+15/-10)2 files modifiedsrc/controller-ualc.cc (+14/-9)
src/controller-ualc.h (+1/-1)
Changed in indicator-location: | |
status: | New → Triaged |
importance: | Undecided → High |
assignee: | nobody → Charles Kerr (charlesk) |
Changed in indicator-location: | |
status: | Triaged → Confirmed |
Changed in platform-api: | |
assignee: | nobody → Thomas Voß (thomas-voss) |
Changed in platform-api: | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in platform-api: | |
status: | Confirmed → In Progress |
Changed in platform-api: | |
status: | In Progress → Fix Released |
Changed in indicator-location: | |
status: | Confirmed → Fix Released |
Changed in location-service: | |
status: | New → Fix Released |
assignee: | nobody → Thomas Voß (thomas-voss) |
importance: | Undecided → High |
To post a comment you must log in.
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: location- service location- service' s UAL call fails, so the service state doesn't change
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-
2d. indicator-
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.