1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-07-01 06:29:31 +00:00
Commit graph

700 commits

Author SHA1 Message Date
Evangelos Ribeiro Tzaras ac2dc8573d best-match: Add gtk-doc annotations to the public API
Notably this adds ownership and nullable annotations, where appropriate.
2023-04-13 06:01:05 +00:00
Evangelos Ribeiro Tzaras 3fb016f6b2 best-match: Allow both NULL and empty strings as phone number
This allows us to get rid of some special casing when retrieving
primary and secondary display information.
2023-04-13 06:01:05 +00:00
Evangelos Ribeiro Tzaras 36fdbc28e6 emergency-calls-manager: Don't leak origin
g_list_model_get_item is transfer full
2023-04-09 16:08:22 +02:00
Evangelos Ribeiro Tzaras 0de7599567 emergency-calls-manager: Add missing argument for on_origins_changed handler
The "removed" argument of the models "items-changed" signal was
forgotten making it misbehave when origins do get removed:

GLib-GObject[1287799]: WARNING: invalid (NULL) pointer instance
GLib-GObject[1287799]:CRITICAL: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
2023-04-09 16:08:00 +02:00
Evangelos Ribeiro Tzaras 9a52c57ffe emergency-calls-manager: Fix indentation
By running uncrustify
2023-04-09 12:18:55 +02:00
Guido Günther e5a4d899f8 emergency-calls-manager: Add support for dialing emergency numbers
We just pick the first matching provider.
2023-04-09 09:48:36 +00:00
Guido Günther b58be993a6 emergency-calls-manager: Don't leak origin
g_list_model_get_item is transfer full
2023-04-09 09:48:36 +00:00
Guido Günther b087bea16b Resolve emergency number types
We add a small hardcoded table for now. Future versions
will improve this to parse this out of ASOPs eccdata.

If we can't determine the type of a number we add it verbatim.
2023-04-06 16:37:59 +00:00
Guido Günther a8cb3dd7c7 emergency-calls: Notify on DBus when emergency numbers change
This is needed if an origin changes it's emergency numbers on the fly
(e.g. when initializing them late).
2023-04-06 16:37:59 +00:00
Guido Günther 6cdae3fd40 origin: Allow to fetch country code
This is an optional method as not all origins might support this
(e.g. SIP).
2023-04-06 16:37:59 +00:00
Guido Günther d5cba4db7f emergency-calls-manager: Query origins for numbers
When the origins change we notify that emergency numbers
might have changed.
2023-02-12 08:00:56 +00:00
Guido Günther df9d541968 origin: Add interface to get emergency numbers 2023-02-12 08:00:56 +00:00
Guido Günther e3d1193f7f dbus-manager: Use emergency-call manager 2023-02-12 08:00:56 +00:00
Guido Günther 4bdb6945bd Add emergency-call manager to interface with DBus 2023-02-12 08:00:56 +00:00
Guido Günther 213b27bf20 dbus: Add initial interface for emergency calls 2023-02-12 08:00:56 +00:00
Evangelos Ribeiro Tzaras d901e4c8a6 application: Delay shutting down until database is done
Operations on the database are not cancellable, so we need to ensure any
critical code (such as database migration) has completed.
Otherwise we risk leaving the database in a locked state (or worse):

WARNING **: 09:24:53.428: Failed to determine schema version: sqlite3_prepare_v2 failed: database is locked: CREATE TABLE IF NOT EXISTS _gom_version (version INTEGER);
2023-02-09 19:07:32 +00:00
Evangelos Ribeiro Tzaras fb07e0122d record-store: Emit signal once DB is migrated
This helps letting CallsApplication decide if it should run a few more
iterations to ensure any critical code finishes executing.
2023-02-09 19:07:32 +00:00
Evangelos Ribeiro Tzaras 01b8a1c873 record-store: Allow overriding database location
By setting the environment variable CALLS_RECORD_DIR the database
location can be overriden which is useful for testing.
2023-02-09 19:07:32 +00:00
Evangelos Ribeiro Tzaras 656c8f96bf account-overview: Respect object lifecycle for signals 2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras ffc3c984b0 application: Respect object lifecycle for signals 2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras 6ab5905a9b call-window: Respect object lifecycle for signals 2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras 63d065118f main-window: Respect object lifecycle for signals 2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras e168170f9e new-call-box: Respect object lifecycle for signals 2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras 46736a63fa record-store: Ensure store stays alive during async tasks
As GOM does not allow us to cancel asynchronous tasks,
we need to hold references temporarily.
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras b49e086549 application: Guard against setting application name twice
This is useful for testing the CallsApplication.
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras ac6aff798d application: Shut down cleanly when application quits
Previously the application was only properly shut down
when it received SIGTERM/SIGINT.
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras 0c004b5204 application: Only destroy previously created widgets
If this is not the primary instance self->main_window and
self->call_window will not have been created in the first place.

Fixes: e878fabb27
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras 481c67a707 application: Coding style 2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras 257278da2c record-store: Fix coding style 2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras 673164803f new-call-box: Uncrustify 2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras ab6f1a4c45 mm-origin: Explicitly cast ussd state
This is better than the implicit conversion of the enum.
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras 0e6d5d9745 record-store: Don't crash on unexpected call state changes
It has been reported that the BM818 sometimes unexpectedly
changes the call state from "active" back to "ringing-in"
(as reported by ModemManager) shortly after accepting an incoming call.

ModemManager[734]: <info>  [modem1/call1] user request to accept call
ModemManager[734]: <info>  [modem1/call1] call is accepted
ModemManager[734]: <info>  [modem1/call1] call state changed: ringing-in -> active (accepted)
ModemManager[734]: <info>  [modem1/call1] call state changed: active -> ringing-in (unknown)

This leads to a failed assertion and program termination.
Instead of crashing raising a critical warning is more appropriate
and may allow the user to pick up the call after all.

Closes: #547
2023-01-30 08:34:24 +00:00
Evangelos Ribeiro Tzaras c0140b4109 contacts-box: Show favourites at the top
Closes: #493
2023-01-30 07:34:04 +00:00
Evangelos Ribeiro Tzaras 55147aed97 best-match: Add API to query if individual is a favourite 2023-01-30 07:34:04 +00:00
Evangelos Ribeiro Tzaras bb6b76107c build: Rename util.{c,h} to calls-util.{c,h}
"util" is a very generic name. This guards against accidentally
including similarly named headers from elsewhere.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras ba77fb8de4 origin: Remove unused include 2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras 575569398b provider: Remove unused include 2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras ee56c8e87c new-call-box: Add explicit include
util.h is included transitively, but explicit is better than implicit.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras 94e940d5ff dbus-manager: Add explicit include
util.h is included transitively, but explicit is better than implicit.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras 5890aae5f8 manager: Add explicit include
util.h is included transitively, but explicit is better than implicit.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras 6bcc95c691 notifier: Add explicit include
util.h is included transitively, but explicit is better than implicit.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras c0cfaeaffe contacts-row: Use g_autoptr
folks 0.14 (shipped in Debian Bullseye) has cleanup functions defined.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras 9b49b0bc4f contacts-provider: Use STR_IS_NULL_OR_EMPTY macro 2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras b799605d01 contacts-provider: Codestyle 2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras ac83323de6 ui-call-data: Always use calls_best_match_get_avatar() to retrieve avatars
self->best_match is never NULL:
The test suite used to wrap calls_contacts_provder_new() to always return
NULL which in turn caused the best match to be NULL.

This was done to avoid warnings raised by libfolks
about missing the primary store (eds).

This is no longer necessary as the environment now tells folks which
backend to use.
2023-01-20 17:12:02 +01:00
Evangelos Ribeiro Tzaras 28f0ee42ee ui-call-data: Assert best_match is set
self->best_match is never NULL:
The test suite used to wrap calls_contacts_provder_new() to always return
NULL which in turn caused the best match to be NULL.

This was done to avoid warnings raised by libfolks
about missing the primary store (eds).

This is no longer necessary as the environment now tells folks which
backend to use.
2023-01-20 17:12:02 +01:00
Evangelos Ribeiro Tzaras 60ece1a656 ui-call-data: Use the name of the best match if individual was found
self->best_match is never NULL:
The test suite used to wrap calls_contacts_provder_new() to always return
NULL which in turn caused the best match to be NULL.

This was done to avoid warnings raised by libfolks
about missing the primary store (eds).

This is no longer necessary as the environment now tells folks which
backend to use.
2023-01-20 17:12:01 +01:00
Evangelos Ribeiro Tzaras e878fabb27 application: Remove and destroy application windows on shutdown
The windows need to be removed from the GtkApplication because they are
holding references to the application which prevents proper cleanup.

Fixes: #508
2023-01-11 18:50:22 +01:00
Evangelos Ribeiro Tzaras 177199467f application: Set unix signal handler source ID to 0
g_clear_signal_handle_id() will complain about unknown sources otherwise.
2023-01-11 18:47:43 +01:00
Evangelos Ribeiro Tzaras 56891363cb history-box: Fix clearing signal handler
By the time g_clear_signal_handler() was invoked self->model had already
been NULL'ed, so clear the signal before clearing the model.
2023-01-11 18:14:36 +01:00