mirror of
https://gitlab.gnome.org/GNOME/calls.git
synced 2025-01-07 04:15:32 +00:00
ringer: Take ui-active property into account
Only start ringing once the UI is deemed active, i.e. the "pre-ring" phase has passed. Fixes #371
This commit is contained in:
parent
1d5c8952ad
commit
93cf894a8c
2 changed files with 12 additions and 10 deletions
|
@ -340,7 +340,8 @@ has_incoming_call (CallsRinger *self)
|
|||
CallsUiCallData *call = node->data;
|
||||
|
||||
if (is_ring_state (cui_call_get_state (CUI_CALL (call))) &&
|
||||
!calls_ui_call_data_get_silenced (call))
|
||||
!calls_ui_call_data_get_silenced (call) &&
|
||||
calls_ui_call_data_get_ui_active (call))
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
|
@ -373,14 +374,12 @@ call_added_cb (CallsRinger *self,
|
|||
|
||||
self->calls = g_list_append (self->calls, call);
|
||||
|
||||
g_signal_connect_swapped (call,
|
||||
"notify::state",
|
||||
G_CALLBACK (update_ring),
|
||||
self);
|
||||
g_signal_connect_swapped (call,
|
||||
"notify::silenced",
|
||||
G_CALLBACK (update_ring),
|
||||
self);
|
||||
g_object_connect (call,
|
||||
"swapped-signal::notify::state", G_CALLBACK (update_ring), self,
|
||||
"swapped-signal::notify::silenced", G_CALLBACK (update_ring), self,
|
||||
"swapped-signal::notify::ui-active", G_CALLBACK (update_ring), self,
|
||||
NULL);
|
||||
|
||||
update_ring (self);
|
||||
}
|
||||
|
||||
|
|
|
@ -356,7 +356,10 @@ test_ringing_hang_up_call_ringer_cancelled (void **state)
|
|||
calls_call_set_state (CALLS_CALL (data->call_one), CALLS_CALL_STATE_INCOMING);
|
||||
add_call (data->manager, data->ui_call_one);
|
||||
|
||||
g_timeout_add (10, G_SOURCE_FUNC (t3_on_ringer_timeout), data);
|
||||
/** this timeout needs to be longer than the delay for activating the UI/ringer,
|
||||
* see DELAY_UI_MS in calls-ui-call-data.c
|
||||
*/
|
||||
g_timeout_add (20, G_SOURCE_FUNC (t3_on_ringer_timeout), data);
|
||||
|
||||
/* main loop will quit in t3_on_ringer_timeout() */
|
||||
g_main_loop_run (data->loop);
|
||||
|
|
Loading…
Reference in a new issue