Commit Graph
100 Commits
Author SHA1 Message Date
Guido GüntherandMarge Bot 6f44a7c7fd emergency-call-types: Add emergency numbers from service provider db
This scales better than using a built in array.

Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/714
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido GüntherandMarge Bot 8de3c90b66 emergency-call-types: Use lower case country codes
The provider info db has it that way.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido GüntherandMarge Bot 07d751f958 service-providers: Add parsing for service provider info
We currently only need the emergency number information

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido GüntherandMarge Bot 5d751f3143 emergency-calls-manager: Init emergency type database
We so far did this on first access. Let's rather do it explicitly
so we notice problems early on startup.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido GüntherandMarge Bot f95370eddc emergency-call-types: Make data structures public
This allows us to use them in tests

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido GüntherandMarge Bot b5e944193e emergency-call-types: Make emergency data hash table dynamic
So far we referenced all compiled in data but we want to add
entries from the provider info database soon so use allocated
memories for all entries.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido GüntherandMarge Bot ee198d2073 emergency-call-types: Make hash table static
This is only meant to be used from this compilation unit

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido GüntherandMarge Bot 467111ad14 build: Add gmobile
We'll use it for the provider info parsing

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido GüntherandMarge Bot 401d02f47d build: Depend on mobile-broadband-provider-info
This will be used for emergency number lookup

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido GüntherandMarge Bot 52555030fb emergency-call-types: Use strv builder
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido GüntherandMarge Bot 3e7f5e77ab emergency-call-types: Fix copyright year and holder
The files were created 2022, the header stating 2021 is a copy and paste
error. Fix a typo while at that.

Gbp-Dch: Ignore
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido GüntherandMarge Bot e617599ef0 flatpak: Use newer libfeedback
Let's have the bug fixes

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido Günther 7103f18e48 application: Load plugins early
Fixes: 574e1f79 ("application: Drop ignore_activation flag")
Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/718
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:31:16 +02:00
Guido Günther e608c83273 app: Use automatic cleanup
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:31:16 +02:00
Guido Günther 8f6b8bc6b9 application: Actually test for write ahead log
While the test was correct and checked if there is only
`record.db` in a given dir (and no other files) it wouldn't
tell us whether the file wasn't there or there were additional
files found. Hence replace the test by assertions that tell
use exactly what failed easing debugging in CI.

Fixes: e4bd4580 ("tests: Add application shutdown tests")
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:31:16 +02:00
Guido Günther 85b65d030d tests: Make the application test depend on the binary
Otherwise it is not rebuilt when it changes

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:26:23 +02:00
Guido Günther 32a88ecd80 application: Wait until all async database operations finished
When shutting down make sure there are no in-flight database operations.
Otherwise the database might not be closed correctly.

Improves fix for https://gitlab.gnome.org/GNOME/calls/-/issues/508

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:26:23 +02:00
Guido Günther a56f43b036 record-store: Track async operations
We need to be able to tell when all async operations finished.
Otherwise we might shut down the daemon with in flight operations
leaving a open database around.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:26:23 +02:00
Guido Günther 57b99a3a55 main-window: Drop confusing cast
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 11:59:02 +02:00
Guido Günther a02ff9504c doap: Update Evangelos email
The dropped one isn't used since ages

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/794>
2025-10-10 11:49:13 +02:00
Guido Günther ec64f4939f doap: Add Guido as co-maintainer
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/794>
2025-10-10 11:49:13 +02:00
Guido GüntherandEvangelos Ribeiro Tzaras 574e1f79a3 application: Drop ignore_activation flag
Rather use gapplication service. This makes the flow similar to what
Chatty does and makes us hold/release rather than having an application
window.

It also allows us to drop the --daemon.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/760>
2025-08-30 10:52:20 +00:00
Guido GüntherandEvangelos Ribeiro Tzaras fbfe680f6a application: Validate daemon flag only on first startup
The activate method is used when the application is activated via
various means - e.g. via the `Activate` DBus method. We don't want to
ignore that activation just because calls was started with the
`--daemon` option. Rename the variable to better match what it means.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/760>
2025-08-30 10:52:20 +00:00
Guido GüntherandEvangelos Ribeiro Tzaras 0c3adf840b data: Switch calls to DBus activation
This makes sure it gets correctly activated when launched e.g. in
phosh while calls is running in `--daemon` mode as the necessary
platform data containing the activation token is now passed via DBus.

This also helps situations when e.g. pressing the call button in chatty
or contacts.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/760>
2025-08-30 10:52:20 +00:00
Guido GüntherandEvangelos Ribeiro Tzaras 24542d3bc2 application: Don't try to remove inexistent window
If the app never showed a window (e.g. in daemon mode) this
would otherwise raise a critical.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/760>
2025-08-30 10:52:20 +00:00
Guido GüntherandMarge Bot a7caa59fba account-overview: Ref list models
GTK4's filters models swallow the reference.

Without this calls crashes like this:

```
    #0  g_type_check_instance (type_instance=type_instance@entry=0x555c0f84ce90) at ../../../gobject/gtype.c:4024
    #1  0x00007f0837af6e18 in g_signal_handlers_disconnect_matched
        (instance=0x555c0f84ce90, mask=mask@entry=(G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), signal_id=signal_id@entry=0, detail=detail@entry=0, closure=closure@entry=0x0, func=func@entry=0x7f0836f828a0 <gtk_filter_list_model_items_changed_cb>, data=0x555c0f84f1b0) at ../../../gobject/gsignal.c:3007
    #2  0x00007f0836f82459 in gtk_filter_list_model_clear_model (self=self@entry=0x555c0f84f1b0 [GtkFilterListModel]) at ../../../gtk/gtkfilterlistmodel.c:497
    #3  0x00007f0836f824f4 in gtk_filter_list_model_clear_model (self=0x555c0f84f1b0 [GtkFilterListModel]) at ../../../gtk/gtkfilterlistmodel.c:493
    #4  gtk_filter_list_model_dispose (object=0x555c0f84f1b0 [GtkFilterListModel]) at ../../../gtk/gtkfilterlistmodel.c:661
    #5  0x00007f0837ae1289 in g_object_unref (_object=0x555c0f84f1b0) at ../../../gobject/gobject.c:4438
    #6  0x00007f08379b47f3 in g_hash_table_remove_all_nodes (hash_table=hash_table@entry=0x555c0f84d2c0, notify=notify@entry=1, destruction=destruction@entry=1)
        at ../../../glib/ghash.c:656
    #7  0x00007f08379b53a3 in g_hash_table_remove_all_nodes (hash_table=0x555c0f84d2c0, notify=1, destruction=1) at ../../../glib/ghash.c:578
    #8  g_hash_table_unref (hash_table=0x555c0f84d2c0) at ../../../glib/ghash.c:1438
    #9  g_hash_table_unref (hash_table=0x555c0f84d2c0) at ../../../glib/ghash.c:1432
    #10 0x0000555bf0b649b2 in calls_manager_finalize (object=0x555c0f84b800 [CallsManager]) at ../src/calls-manager.c:465
    #11 0x00007f0837ae14fe in g_object_unref (_object=0x555c0f84b800) at ../../../gobject/gobject.c:4509
    #12 0x0000555bf0b5b92d in finalize (object=0x555c0f82fcb0 [CallsApplication]) at ../src/calls-application.c:780
    #13 0x00007f0837ae14fe in g_object_unref (_object=0x555c0f82fcb0) at ../../../gobject/gobject.c:4509
    #14 0x0000555bf0b58cd4 in main (argc=1, argv=0x7fffc05d57a8) at ../src/main.c:47
```

Steps to reproduce:

- start calls
- open account dialog
- close account dialog
- hit control-c to end calls daemon
- observe above crash

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/777>
2025-05-05 12:37:05 +00:00
Guido Günther d0b52dddcb build: Drop meson version check
We require meson 1.0 anyway

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/778>
2025-05-04 10:51:40 +02:00
Guido Günther 7c0fcbc158 call-box: Use correct property
There's no `selected-index` property. This makes sure we properly switch
between keypad and text entry.

Fixes ee3abc0 ("treewide: Replace libhandy with libadwaita")

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/775>
2025-04-28 16:19:32 +02:00
Guido GüntherandMarge Bot c6f816687d data: Start calls as part of gnome-session
Since the "calls daemon" is the full app we depend on session services
and portls. Start within gnome-session startup to make sure we don't
start too early.

Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/690

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/771>
2025-04-04 08:51:12 +00:00
Guido Günther d275a1cedc ussd-dialog: Reindent
Done as a separate commit to ease review

Gbp-Dch: Ignore
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther 4bd12c1102 ussd-dialog: Use AdwSpinner
Make it a bit larger while at that

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther d5cc163801 main-window: Use AdwDialog for USSD
We grab the focus hence making the text entry easy to identify and by
following the content size we get a reasonable width.

Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/681

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther 047b5a1495 ussd-dialog: Simplify navigation
Focus the entry by default so we keep the OSK open when there's
additional input required

Helps: https://gitlab.gnome.org/GNOME/calls/-/issues/681

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther 39d953c011 ussd-dialog: Set phone input purose on entry
USSD menus are usually navigatable with dumb phone keyboards
so this makes a good default.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther 52e7f56efd main-window: Set log domain
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther 8d1a339cf1 build: Bump libadwaita dependency to 1.6
Needed for AdwSpinner

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther 10dc68c7a7 ci: Use newer image
We want libadwaita 1.6

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido GüntherandMarge Bot 38ad7dae2a call-record-row: Turn the realized check into a critical
This makes sure we don't ignore it should it happen again.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido GüntherandMarge Bot 4baa4f5141 call-record-row: Unparent popover in dispose
Finalize is too late to break reference cycles.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido GüntherandMarge Bot 6d9b88546d util: Drop now unused macros
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido GüntherandMarge Bot 08a01fb1c5 call-record-row: Use g_clear_signal_handler
glib is recent enough nowadays

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido GüntherandMarge Bot 2f8877b107 call-record-row: Drop superfluous cast
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido GüntherandMarge Bot f4e8373eaa history-box: Keep ref on list model
The gtk_*list_model_new() functions are `transfer: full` for the model.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido GüntherandMarge Bot 12812f64c6 history-box: No need to unparent the stack
GTK cleans up for us

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido GüntherandMarge Bot e2f3f5ef53 settings: Don't leak autoload plugins
Use the correct cleanup func

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido GüntherandMarge Bot 313d18509d settings: Don't leak audio codecs
Use the correct cleanup func

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido GüntherandMarge Bot 141eb85580 calls-manager: Don't leak hash tables
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido GüntherandMarge Bot fc9aabb1ec calls-manager: Keep ref on list models
The gtk_*list_model_new() functions are `transfer: full` for the model.
Since we keep accessing the underlying models we keep the refs for clear
ownership and drop them in finalize.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido GüntherandMarge Bot 2b5d2f53a9 calls-notifier: Use official notification category
See https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/50

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/748>
2024-09-21 06:15:19 +00:00
Guido GüntherandMarge Bot 515ff43dd8 ci: Check consistency
Make sure all the version numbers are in sync for a release.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/753>
2024-09-04 21:03:12 +00:00
Guido GüntherandMarge Bot 9f4be32753 ci: Use shared checks
This allows to drop the custom check-po

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/753>
2024-09-04 21:03:12 +00:00
Guido GüntherandMarge Bot 4c6dcf9e04 ci: Avoid duplicate pipelines
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/753>
2024-09-04 21:03:12 +00:00
Guido GüntherandMarge Bot 7815514a47 packaging: Keep meson verson in sync with changelog
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/753>
2024-09-04 21:03:12 +00:00
Guido GüntherandMarge Bot 05dc7c24ef main-window: Use AdwAboutDialog
Fixes the deprecation warning and lets us use a bottom
sheet that can always be closed.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/749>
2024-08-31 15:17:20 +00:00
Guido GüntherandMarge Bot 7241f8bed4 build: Bump libadwaita dep to 1.5
Needed for AdwAboutDialog

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/749>
2024-08-31 15:17:20 +00:00
Guido GüntherandMarge Bot ac8a3bb9a9 ci: Update image
Let's test against recent GTK.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/749>
2024-08-31 15:17:20 +00:00
Guido GüntherandMarge Bot 506a1cfc34 manager: Emit phone-hangup event if the other side hung up
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/743>
2024-07-31 17:50:58 +00:00
Guido GüntherandMarge Bot 7b2ab53f4d call: Track which side hung up the call
Adding a boolean flag allows us to distinguish this from situations
where the other side ended the call.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/743>
2024-07-31 17:50:58 +00:00
Guido GüntherandMarge Bot 7bc0cc06ca call: Fix name of parent class
It's not an interface

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/743>
2024-07-31 17:50:58 +00:00
Guido GüntherandMarge Bot 7aa3d163b5 build: Bump minimum glib version
Glib 2.74 is even in Debian stable

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/743>
2024-07-31 17:50:58 +00:00
Guido GüntherandMarge Bot f88abb8280 README: Link to linphone's sofia-sip
This is what it's being tested with. Freeswitch has issues atm.

Helps: https://gitlab.gnome.org/GNOME/calls/-/issues/650
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/744>
2024-07-16 17:18:26 +00:00
Guido GüntherandMarge Bot 17325b3104 sip: Don't drop errors when recreating sip account
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/737>
2024-06-23 12:31:12 +00:00
Guido GüntherandMarge Bot 13ebabfadb sip: Don't crash when handles never got set up
Still need to figure out how we can end up there, see #580

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/737>
2024-06-23 12:31:12 +00:00
Guido GüntherandMarge Bot b5af7f5e7d calls-ringer: Don't restart when feedback got ended explicitly
If a user e.g. lowers the gobal feedback level we don't want to
retrigger the events.

Without this calls assumes events ended naturally and restarts the
ringing without any events. As that is never ended even subsequent calls
don't receive any ringing.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/734>
2024-06-23 12:02:59 +00:00
Guido GüntherandMarge Bot e29fbf1b07 build: Add summary
Makes is simpler to figure out how calls is built.

This also bumps the minimum meson version to 1.0.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/733>
2024-06-20 11:59:08 +00:00
Guido Günther 93e0c72d9f mm-origin: Handle missing SIM case more gracefully
This avoids warnings like

    gnome-calls[57992]: mm_sim_get_imsi: assertion 'MM_IS_SIM (self)' failed
    gnome-calls[57992]: mm_sim_dup_emergency_numbers: assertion 'MM_IS_SIM (self)' failed

in the logs

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/735>
2024-06-16 15:00:35 +02:00
Guido GüntherandMarge Bot 71f5ffd7dc ci: Update image
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/730>
2024-05-14 08:40:16 +00:00
Guido GüntherandMarge Bot af7388db6c ci: Simplify image updates
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/730>
2024-05-14 08:40:16 +00:00
Guido Günther 34b68ec082 mm-origin: Don't crash when Modem has no location services
When no locationservice is available the API can return `NULL` without
setting an error.

Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/641
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/728>
2024-04-24 16:44:00 +02:00
Guido Günther db9b771c19 Release 46.0
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/725>
2024-03-13 18:01:42 +01:00
Guido GüntherandMarge Bot 831741eecb d/control: Don't require root for building
Helps in ci

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/723>
2024-03-13 14:50:47 +00:00
Guido GüntherandEvangelos Ribeiro Tzaras 041921ca26 calls-manager: Connect listener past the list model filters
The list model filters connect signal handlers for item-changed to
refilter the list models.

In order to enable protocols based on what the origin supports
`on_origins_changed` needs these filtered results. Since it is a signal
handler by itself connect it late so it runs later in the filter chain.

Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/601
2024-03-13 10:17:16 +00:00
Guido Günther 3a467d85ad emergency-call-types: Add EU countries
They all support 112.
2024-02-10 17:10:14 +01:00
Guido Günther e49cd86035 emergency-calls-manager: Use network code to get emergency numbers
By far not all sims have emergency numbers and we want to respect the
users current location anyway.

We use a hash to avoid duplicates.
2024-02-10 17:10:10 +01:00
Guido Günther 678a41bade emergency-calls-manager: Move contact adding to separate function
Improves readability and will be get another call site soon.
2024-02-10 17:09:59 +01:00
Guido Günther 9c0acdd560 emergency-calls-manager: Fix object name 2024-02-10 17:09:57 +01:00
Guido Günther edb46acfa5 emergency-call-types: Add location source
We named it fallback but location is a better name as we get it
from the current country code.
2024-02-10 17:09:48 +01:00
Guido Günther 4951cf5b3b emergency-call-types: Use hash for flag lookups too 2024-02-10 17:09:45 +01:00
Guido Günther aaefc0443a emergency-call-types: Allow to lookup emergency numbers by country code
We build a hash as cache to speed up lookups. As this is a one time
thing we just do it once and don't bother to free it up.

We currently assume that all numbers can be used for the location based
lookups. Should that change we want to add a flag indicating that.
2024-02-10 17:09:37 +01:00
Guido Günther 6aa356590b mm-origin: Notify emergency number change when we get a location
Technically the emergency numbers exported by the origin doesn't change
but it's enough to trigger the DBus signal so clients see the updated
numbers.
2024-02-10 17:09:37 +01:00
Guido Günther fd4b796742 mm-origin: Get 3gpp network country code when available
We currently don't enable location gathering explicitly so we rely
on other services (like geoclue) to do so. Use

    mmcli -m 0 --location-enable-3gpp

We could enable for a short time when there's an explicit emergency
number request.
2024-02-10 17:09:19 +01:00
Guido Günther c4630a2647 origin: Add network country code
This is technically only useful for mobile networks.
2024-02-10 17:09:10 +01:00
Guido Günther 4695f81f5c dbus: Fix typo 2024-02-10 17:09:01 +01:00
Guido Günther 66254fcad4 po: Ignore generated files 2024-02-10 17:08:54 +01:00
Guido Günther 7f81b0197b dir-locals: Ease formatting of CSS, meson and ui files 2024-02-10 17:08:45 +01:00
Guido Günther 6a5790dd34 dir-locals: Avoid tabs in C mode 2024-02-10 17:08:24 +01:00
Guido Günther fc15ba2e58 ci: Switch to a trixie based base image
Debian Bookworm doesn't get any GNOME updates and we want to ensure
we build and run against latest.
2024-01-14 10:36:37 +01:00
Guido Günther bfeabe09d0 ci: Switch to package test to trixie
PureOS Byzantium tracks Debian oldstable which isn't suitable for an
upstream test. Track Debian testing instead which has recent GNOME.
2024-01-13 12:25:56 +01:00
Guido GüntherandEvangelos Ribeiro Tzaras 47afc70552 mm-provider: Don't exit early when country code matches
This makes sure we fetch emergency numbers in any case (and also
further things should they be added later).
2023-04-09 15:38:01 +00:00
Guido GüntherandEvangelos Ribeiro Tzaras 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üntherandEvangelos Ribeiro Tzaras 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üntherandEvangelos Ribeiro Tzaras 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üntherandEvangelos Ribeiro Tzaras 9f68e242fd build: Run tests under C locale
This allows us to check for strings that contain translations.
We could also force a locale (see phosh's screenshot tests) at
a later point.
2023-04-06 16:37:59 +00:00
Guido GüntherandEvangelos Ribeiro Tzaras b880ddf1d7 mm-provider: Implement get_country_code 2023-04-06 16:37:59 +00:00
Guido GüntherandEvangelos Ribeiro Tzaras 69250ac121 mm-provider: Fetch emergency numbers from sim 2023-04-06 16:37:59 +00:00
Guido GüntherandEvangelos Ribeiro Tzaras 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üntherandEvangelos Ribeiro Tzaras 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üntherandEvangelos Ribeiro Tzaras d598acd96b mm-provider: Initialize parent class first 2023-04-06 16:37:59 +00:00
Guido GüntherandEvangelos Ribeiro Tzaras 372aa452c3 tests: Add emergency call DBus test
Make sure the API gets exported and we can query numbers
2023-02-12 08:00:56 +00:00
Guido GüntherandEvangelos Ribeiro Tzaras ca4e77a8b0 tests/dbus: Check for error early
This gives a detailed error messages whereas checking if `proxy`
is `NULL` tells us only that on error.
2023-02-12 08:00:56 +00:00