Evangelos Ribeiro Tzaras
9ffcbe2de8
contacts-provider: Don't throw a critical when trying to lookup NULL id
...
Anonymous callers will show up with a NULL id, so don't emit a critical here.
Fixes 006673a9e1
2022-02-18 10:55:53 +01:00
Evangelos Ribeiro Tzaras
c36b6d713a
call: Allow setting NULL id
...
A NULL id will be reported for anonymous callers.
2022-02-18 10:55:53 +01:00
Evangelos Ribeiro Tzaras
73ac050cef
call: Annotate properties and add introspection attributes on getters/setters
...
See https://gnome.pages.gitlab.gnome.org/gi-docgen/attributes.html
2022-02-18 10:55:53 +01:00
Evangelos Ribeiro Tzaras
4187eec127
notifier: Codestyle
2022-02-18 10:55:53 +01:00
Evangelos Ribeiro Tzaras
1e734dbbff
notifier: Chain up to parents constructed() before doing anything else
...
Not strictly needed here, because we don't depend on the parent being
constructed but this is how it should generally be done.
2022-02-18 10:55:53 +01:00
Evangelos Ribeiro Tzaras
690ac121e9
best-match: Assert CALLS_IS_BEST_MATCH in private functions
2022-02-18 10:55:53 +01:00
Evangelos Ribeiro Tzaras
51598700d7
best-match: Codestyle
2022-02-18 10:55:53 +01:00
Evangelos Ribeiro Tzaras
6e7984cb5d
application: Reuse existing functions in app.dial action
...
For that we must move open_sip_uri() and open_tel_uri() up to avoid having to
add forward declarations.
Fixes #402
2022-02-18 09:20:07 +00:00
Evangelos Ribeiro Tzaras
006673a9e1
contacts-provider: Guard against lookup with NULL id
...
If the id is NULL g_str_hash(NULL) will be called which tries dereferencing the
pointer.
Fixes #408
2022-02-15 08:02:18 +01:00
Evangelos Ribeiro Tzaras
8c0d135298
media-pipeline: Put deprecated GStreamer function behind version check macro
...
gst_element_get_request_pad() is marked as deprecated in GStreamer 1.20.0 in
favour of gst_element_request_pad_simple()
2022-02-12 23:49:30 +00:00
Evangelos Ribeiro Tzaras
8bf2f2cf1d
main-window: Bump copyright year in about window
2022-02-13 00:01:50 +01:00
Evangelos Ribeiro Tzaras
d6dab91840
meson: Post release bump
2022-02-13 00:01:50 +01:00
Evangelos Ribeiro Tzaras
21e1d2a53d
ci: Bump used debian image
...
This let's us use newer GStreamer (> 1.20) which deprecated some functions we
used.
2022-02-12 17:22:35 +01:00
Evangelos Ribeiro Tzaras
f50f0b8b74
call: Add call-type property
...
The designs for the call details show information on the type of the call:
https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/calls/calls.png
So f.e. "Cellular", "Matrix WebRTC Video Call".
These properties can potentially also be useful in choosing the mechanism to
use for the audio controls from the call display.
2022-02-09 19:35:46 +01:00
Evangelos Ribeiro Tzaras
34b447a4ca
call: Get rid of get_contact() API
...
This function isn't used anywhere since the recent refactoring, so let's drop
this dead code.
2022-02-09 19:35:43 +01:00
Evangelos Ribeiro Tzaras
d7ba7927d7
manager: Add section documentation
2022-02-06 09:56:31 +01:00
Evangelos Ribeiro Tzaras
20271fc2bd
doc: Include API reference for all core sources
...
While not every class or interface is properly documented and annotated yet,
adding them to the docs should still be valuable.
Additionally it is a good reminder for ourselves to add some proper description
because things like missing a annotated class description really stand out
currently.
2022-02-06 02:34:37 +01:00
Evangelos Ribeiro Tzaras
3f2481bda9
doc: meson: Get rid of redundant if block
...
We already check at the very top if the 'gtk_doc' option is used, so let's drop
it here.
2022-02-06 02:34:37 +01:00
Evangelos Ribeiro Tzaras
3fe976505c
manager: Delay UI Call removal and adjust to changes
...
This was handled explicitly in the Call window.
By changing the logic to delay the emission of "ui-call-removed" we make sure
that the Call UI and the exported DBus object is consistent.
We also need to change the test cases to use run a GMainLoop because we now have
to wait until signal comes in.
2022-02-03 12:37:05 +01:00
Evangelos Ribeiro Tzaras
cde517096b
dbus: Add hint property
...
This is a dictionary to allow for future extensibility. Currently we're only
hinting if the UI should be shown for a given call.
2022-02-03 12:37:05 +01:00
Evangelos Ribeiro Tzaras
3d85ef802f
call-window: Take ui-active property into account
...
Only show the display after the "pre-ring" phase has passed.
Fixes #371
2022-02-03 12:37:05 +01:00
Evangelos Ribeiro Tzaras
93cf894a8c
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
2022-02-03 12:37:05 +01:00
Evangelos Ribeiro Tzaras
1d5c8952ad
ui-call-data: Add property to delay showing call display and ringing
...
This "ui-active" property should be set to FALSE for new incoming calls and set
to TRUE after a short delay of 20ms. This property is used to delay showing the
call display and starting to ring.
This delay gives DBus clients like
phosh-antispam (https://gitlab.com/kop316/phosh-antispam )
some time to make a decision whether a call should be hung up or not and defer
starting to ring and showing the display only afterwards.
2022-02-03 12:37:05 +01:00
Evangelos Ribeiro Tzaras
8f8da42f76
dummy-origin: Emit call-added only after adding to list
...
Otherwise we get incorrect values when calling calls_origin_get_calls ()
2022-02-03 12:36:58 +01:00
Evangelos Ribeiro Tzaras
d15614a645
selector: Fix property binding
...
CallsCall used "name", while CuiCall uses "display-name".
2022-02-03 07:16:04 +01:00
Evangelos Ribeiro Tzaras
d5ccb40e68
tests: ui-call: Test property equality
...
And especially if properties get updated on both sides.
2022-02-02 00:09:12 +01:00
Evangelos Ribeiro Tzaras
1ca83bc2bc
tests: Add ui-call tests
...
For now we only test the state mapping.
2022-02-02 00:09:12 +01:00
Evangelos Ribeiro Tzaras
9f8c20995c
tests: Fix typo
2022-02-02 00:09:12 +01:00
Evangelos Ribeiro Tzaras
896af6f8af
record-row: Fix passing widget instead of string as action target
...
When introducing the per protocol dial actions we started setting the widget
self->target as the action target instead of the target property of
self->record.
Bizzarely we only sometimes got greeted with a critical:
11:30:20.5184 GLib[887977]:CRITICAL: g_variant_new_string: assertion 'g_utf8_validate (string, -1, NULL)' failed
Thread 1 "gnome-calls" received signal SIGTRAP, Trace/breakpoint trap.
g_logv (log_domain=0x7ffff7ea400e "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../../../glib/gmessages.c:1417
1417 ../../../glib/gmessages.c: No such file or directory.
(gdb) bt
at ../../../glib/gmessages.c:2898
Fixes: 687dd7ff383476523ae0a8a38879a171cb0b9a5a
Closes #398
2022-02-01 23:28:50 +01:00
Evangelos Ribeiro Tzaras
d452e0a702
dbus-manager: Fix wrong property being bound
...
Fixes cf6c563ead
2022-02-01 23:28:50 +01:00
Evangelos Ribeiro Tzaras
aa04401b06
dbus-manager: Prefer canonical signal names
2022-02-01 23:28:50 +01:00
Evangelos Ribeiro Tzaras
423ce4668e
record-row: Remove unnecessary G_OBJECT cast
2022-02-01 23:28:50 +01:00
Evangelos Ribeiro Tzaras
e4dc6548c5
ui-call-data: Document calls_call_state_to_cui_call_state()
2022-02-01 23:28:50 +01:00
Evangelos Ribeiro Tzaras
3fa290f5a7
notifier: Switch to CallsUiCallData
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
98b8155fc6
manager: Switch to CallsUiCallData
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
bb8f662a01
ui-call-data: Remove get_call() function
...
No need to expose the internal CallsCall object as all properties relevant for
the UI are proxied out anyway.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
5bca8eabfe
call: Remove API for silencing
...
This now lives in CallsUiCallData and got removed after the last user of the
code (CallsDbusManager) switched.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
cf6c563ead
dbus-manager: Switch to CallsUiCallData
...
This allows to simplify the code a bit.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
5b9609c4f7
ringer: Use CallsUiCallData instead of CallsCall
...
This will allow us to handle pre-ringing better.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
b9e49986f0
call: Remove unused calls_call_state_to_string()
...
We're now using cui_call_state_to_string(), so this is unused.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
fa5969892e
call-window: Switch to CallsUiCallData
...
By connecting to the "ui-call-added" and "ui-call-removed" signals instead of
"call-add" and "call-remove".
This allows us to shave off a few lines of code.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
1d364eafda
ui-call-data: Add proxy properties for CallsCall
...
TODO: This could do with some tests
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
dd8cc08649
ui-call-data: Allow contact provider to be NULL
...
The contact provider can be NULL in the ringer tests, because we're stubbing it.
Early return in that case and make sure the call is already set.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
6f9b071bbc
tests: manager: Switch to CallsUiCallData
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
db7674d0f9
manager: Add new set of add and remove signals for CuiCalls
...
This is part of a refactoring which should help separating concerns between
CallsCall and CallsUiCallData better.
To accomplish this we want to stop passing around CallsCall objects and instead
pass CallsUiCallData objects.
In this commit we added new signals instead of changing the existing ones
because that results in a lot of churn. It allows to do the switch per module
allowing smaller individual patches and a more manageable patchset.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
1518a4b6fb
ui-call-data: Add "state-changed" signal
...
This signal is for use in the UI components that are interested in both the old
and new state.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
2f32e09982
ringer: Switch to state notify signal
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
500581d35d
call: Add transfer annotation for get_protocol()
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
72adee4922
tests: mock-contacts-provider: Add license header
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
805ed4e0f4
notifier: Expand on comment
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
9f50bc509f
notifier: Remove unused GList
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
25c2d5b104
notifier: Sort include headers
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
5e2061da46
ringer: Reorder headers
...
config.h goes first then sort alphabetically.
2022-02-01 06:11:04 +01:00
Evangelos Ribeiro Tzaras
d75d4916af
manager: Use state flags instead of an enum and adapt to changes
...
This gives us some more granularity and is overall a better fit than the states
previously used.
Closes #327
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
69c530dda8
dummy: provider: Fake being a modem
...
This is useful to avoid the "No modem" warning in the UI and helps us avoiding
to special case the dummy provider/origins.
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
b00deccdcb
record-row: Use per protocol dial action
...
This allows us to deactivate actions if there is no origin that can handle them.
Closes #293
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
dd4a02aea2
manager: Add per protocol dial actions
...
These are enabled or disabled based on availability of suitable origins.
Allows CallsCallRecordRows (GtkListBoxRows in the call history) to use protocol
specific instead of global dial action.
Closes #307
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
15943b9776
manager: Hardcode supported protocols and adapt to changes
...
This simplifies the code quite a bit by removing the supported protocols from
being determined dynamically via the loaded plugins.
It was previously used to add/remove a GListStore to origins_by_protocol.
This is a prerequisite for having per protocol dial actions.
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
6aba8e119c
dummy: origin: Restrict supported protocols to "tel"
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
18aea10ca3
manager: Remove unused key argument in g_hash_table_iter_next()
...
We're only interested in the value here.
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
edbf046bfd
ui-call-data: Implement "active-time" property
2022-01-31 15:51:45 +01:00
Evangelos Ribeiro Tzaras
8543fc7ab5
Update libcallui subproject and adjust to CuiCallState changes
...
We already had our mapping between CallsCallStates and CuiCallStates in place,
but the _DIALING state got renamed to _CALLING.
Additionally bundle CallsCallStates that map to the same CuiCallState to remove
some code.
2022-01-31 15:25:46 +01:00
Evangelos Ribeiro Tzaras
ab3ff5772b
settings: Fix memory leak
...
g_settings_get_string() and g_settings_get_strv() are transfer full,
so we should use g_value_take_string() instead of g_value_set_string() and
g_value_take_boxed() instead of g_value_set_boxed()
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
7587efb78a
log: Fix One Definition Rule
...
As caught by running with enabled address sanitization.
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
a8de63f838
dummy: origin: Fix memory leaks
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
7cba40ff60
tests: origin: Fix memory leaks
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
1d1489e167
call: Fix memory leaks
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
6c857ba94a
tests: call: Prefer G_SOURCE_REMOVE instead of FALSE
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
f6e6d08332
sip: origin: Fix memory leak
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
9569afa073
origin: Add transfer annotation for calls_origin_get_calls ()
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
1b4af654f1
sip: origin: Fix comment style
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
14930ba82f
Document and release 42.beta.1
2022-01-26 14:35:20 +01:00
Evangelos Ribeiro Tzaras
79a7e8c59f
Update libcall-ui subproject to v0.0.1
...
This brings a few UI fixes and updated translations
2022-01-26 14:22:05 +01:00
Evangelos Ribeiro Tzaras
a7677798d1
dbus-manager: Fix critical when transforming call states
...
Fixes c796df9260
2022-01-26 08:27:31 +01:00
Evangelos Ribeiro Tzaras
40cb9edf43
readme: Mention that documentation is available as gitlab page
2022-01-26 06:16:42 +00:00
Evangelos Ribeiro Tzaras
55028565aa
ci: Deploy documentation as gitlab pages
2022-01-26 06:16:42 +00:00
Evangelos Ribeiro Tzaras
1c253c0604
Document and release 42.beta.0
2022-01-25 14:22:43 +01:00
Evangelos Ribeiro Tzaras
0dc761d87c
tests: sip: Switch to state notify signal
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
7c5dcd37d7
sip: origin: Switch to state notify signal
...
We don't need the old state here, so let's use the "notify::state" signal
instead of the "state-changed" signal.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
470475e531
mm: origin: Switch to state notify signal
...
We don't need the old state here, so let's use the "notify::state" signal
instead of the "state-changed" signal.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
58507556e5
dummy: origin: Switch to state notify signal
...
We don't need the old state here, so let's use the "notify::state" signal
instead of the "state-changed" signal.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
656643c522
call: Temporarily hold ref while setting new state
...
This is needed to make sure the object stays alive, because some implementations
will unref the call after it has been set to a disconnected state.
This has become apparent because tests started failing when origins switched
from the "state-changed" to the "notify::state" signal (as is done in the next
commits).
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
c2c8b1acd9
dummy: origin: Use g_assert in non public functions
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
85c6ac2ff8
tests: dummy origin: Use correct origin
...
And unref it after we're done. Otherwise we're leaking memory because the dummy
provider only keeps actively unrefs the origin it added itself.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
c594726ce5
best-match: Fix potential memory leak
...
We would leak memory if calls_best_match_set_phone_number would be called a
second time with a SIP address.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
ebc5e584bb
manager: Use ternary operator instead of if/else block
...
Less code is better code.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
f01c99c587
ui-call-data: Remove unused struct
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
36c4f2b349
ui-call-data: Add license header
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
6567b7cad7
call-selector-item: Codestyle
...
Move public functions to the bottom
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
c0a67d2cce
contacts-provider: Remove static from action name string
...
There was no reason to have it static in the first place.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
99057452c5
dbus: Document interface in a way that gtk-doc can use
...
Fixes #394
2022-01-20 10:50:48 +01:00
Evangelos Ribeiro Tzaras
12ae596352
contacts-provider: Overhaul documentation
...
This commit describes what CallsContactsProvider is used for,
documents signals, properties and the public API.
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
bcdb703ec3
origin: Remove unused parameter from docstring
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
4dd4ba3be3
provider: Remove unused parameter from docstring
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
52eebaad83
message-source: Fix typo
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
558393a8cb
meson: Don't access the network when validating metadata
...
Build servers might not allow network access and this shaves off a little time
in the test suite.
It shouldn't be a problem running the validation manually when adding new
screenshots.
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
c796df9260
dbus-manager: Use CuiCallStates instead of CallsCallStates
...
CallsCallStates are considered internal call states and do not map 1:1 to
CuiCallStates.
2022-01-20 07:42:08 +00:00
Evangelos Ribeiro Tzaras
e3afefcef2
ui-call-data: Add call state mapping to public API
...
This allows it to get used in the DBus manager in a GBindingTransformFunc
until to make sure we don't use emit deprecated values over DBus.
2022-01-20 07:42:08 +00:00
Evangelos Ribeiro Tzaras
4bc8e82ff6
ui-call-data: Don't use deprecated states in mapping
...
For the UI we don't distinguish between dialing and alerting or between
waiting and incoming.
2022-01-20 07:42:08 +00:00
Evangelos Ribeiro Tzaras
6e9fadbee2
dbus: document states
2022-01-20 07:42:08 +00:00