ringer: Never cancel async DBus calls and refactor
Previously our code assumed that g_cancellable_cancel() the async DBus calls to libfeedback would guarantee that the underlying operation would not be performed (i.e. triggering or ending a feedback). However the endless ringing exhibited in #470 shows this assumption not to hold. Therefore we avoid using g_cancellable_cancel () completely and default to waiting for the async operation to finish. update_ring () now sets the target state by inspecting managed calls and the main logic will now step towards the target state: Changing from regular/loud to soft/quiet ringing (or vice versa) requires we first end feedback before (re)triggering it. Additionally the "is-quiet" and "is-ringing" properties are replaced by a new "state" property to allow changing the combination atomically. Closes: #470
This commit is contained in:
@@ -65,6 +65,7 @@ calls_enum_headers = files(['calls-call.h',
|
||||
'calls-ussd.h',
|
||||
'calls-manager.h',
|
||||
'calls-account.h',
|
||||
'calls-ringer.h',
|
||||
])
|
||||
calls_enum_sources = gnome.mkenums_simple('enum-types',
|
||||
sources : calls_enum_headers)
|
||||
|
||||
Reference in New Issue
Block a user