Commit Graph
100 Commits
Author SHA1 Message Date
Evangelos Ribeiro Tzaras cd6917dcf6 sip: origin: Include address in warning when we cannot dial
This allows figuring out which call failed.
2021-12-21 14:52:14 +00:00
Evangelos Ribeiro Tzaras 8575adf998 media-manager: Take preferred audio codecs into account for SDP
Fixes #349
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras 0b8fb4a448 media-codecs: Clarify that codec availability should be checked before use 2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras 27463212d9 media-codecs: Add codec availability check to public API
This will be useful for building a list of preferred audio codecs.
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras 7fe8a90d77 settings: Add GSetting for preferred audio codecs 2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras da4434564d test: sip: Add debug messages 2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras dc809e54e5 settings: Add docstring for autoload-plugins setter and getter 2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras a63023e315 settings: Chain up to parents constructed() early
Not strictly necessary since we're not depending on anything the parents
constructed() might be doing, but it's a good practice.
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras b49041a3f2 sip: codecs: Fix transfer annotation of media_codecs_get_candidates() 2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras 4e09ada0df best-match: Fix header include
We only need gio.h here because of GLoadable.
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras 2026573e64 project: Do not allow deprecated gtk/gdk symbols
This will make sure that we're not introducing deprecated symbols which
could make it harder to migrate to Gtk4.
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras f068e20f68 ci: Use prebuilt debian images
This should speed up CI jobs.

Close #380
2021-12-21 14:16:49 +01:00
Evangelos Ribeiro Tzaras a21fded449 gitlab-ci: Use prebuilt containers
This image has all build dependencies to speed up build and tests.
Copied from
phosh (https://gitlab.gnome.org/World/Phosh/phosh/-/commit/d8b2e5651b837adb6698c9868a9d278ef7929400)
with minor modifications for Calls.

Use

 .gitlab-ci/run-docker.sh --base debian build --version 0.0.<date>
 .gitlab-ci/run-docker.sh --base debian push --version 0.0.<date>

to update.
2021-12-21 14:16:47 +01:00
Evangelos Ribeiro Tzaras c12b7a8c69 call: Use protocol fallback
We're falling back to "tel" as the default case.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras dbfa593a07 call: Move name property to base class
This let's us avoid some duplication in the derived classes.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras a1fefcdbac call: Move id property into base class
This allows us to avoid some duplication in the derived classes.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras a048b4c83d call: Move state property into base class
This let's us get rid of a lot of duplication in the derived classes.

Additionally we set the initial state to CALLS_CALL_STATE_INCOMING if
inbound is TRUE and CALLS_CALL_STATE_DIALING otherwise.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras ddf1dd7349 call: Move inbound property into base class
This avoids some repetition in the derived classes.
2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras 88cd7ce222 call: Add unknown state
This is the default fallback state and is useful f.e. in the oFono plugin
if the GDBOVoiceCall doesn't provide a state in its' properties.
2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras cead5ada88 call-window: Use g_assert in private functions 2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras a0942034de test: call: Codestyle 2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras 797c9a0c46 mm: call: Codestyle 2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras b3aff65822 dummy: call: Codestyle 2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras aadf546472 ofono: call: Codestyle 2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras 09699254c8 call: Codestyle 2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras 08456c8043 in-app-notification: Use g_clear_* instead of emulating it 2021-12-16 06:39:38 +01:00
Evangelos Ribeiro Tzaras 3e37870824 in-app-notification: Use unsigned integers for timeout property
It's used in g_timeout_add_seconds and that expects a guint.
Set the minimum timeout to 1 second.
2021-12-16 06:39:38 +01:00
Evangelos Ribeiro Tzaras d7b4aff0d8 in-app-notification: Use DEFAULT_TIMEOUT_SECONDS as the default timeout
By setting the G_PARAM_CONSTRUCT flag for the timeout property we make sure
that the default value is set if it has not been given explicitly in
g_object_new().
2021-12-16 06:39:38 +01:00
Evangelos Ribeiro Tzaras fd6fcbc3c0 in-app-notification: Codestyle 2021-12-16 06:39:38 +01:00
Evangelos Ribeiro Tzaras 73cf5081d0 sip: origin: Prevent dialing when not online
Setting up the nua context could have failed (see #379) and in that case
our nua_*() calls might derefence a NULL pointer.
2021-12-15 20:01:40 +01:00
Evangelos Ribeiro Tzaras e4f2ff105a Document and release 42.alpha.0 2021-12-14 10:00:12 +01:00
Evangelos Ribeiro Tzaras 4df3ea005d record-row: Only create popover when needed
Creating a popover for each CallsCallRecordRow comes with a big performance
hit when scrolling the history, so we should avoid doing this.

Fixes #198
2021-12-10 18:12:30 +01:00
Evangelos Ribeiro Tzaras 42b5b9d600 record-row: Use API to query call icon name
This makes sure we don't need to allocate icon string names for each record.
2021-12-07 11:05:12 +01:00
Evangelos Ribeiro Tzaras a87c3eeb2e tests: util: Unit test call icon name function 2021-12-07 11:05:12 +01:00
Evangelos Ribeiro Tzaras abdb601afa util: Add API to query call icon names
This can later be used in the call history or in the call details
instead of always constructing the name repeatedly in private functions.
2021-12-07 11:05:12 +01:00
Evangelos Ribeiro Tzaras bbccb7667e tests: util: Codestyle 2021-12-07 11:05:12 +01:00
Evangelos Ribeiro Tzaras 625b26be32 record-row: Codestyle 2021-12-07 11:05:12 +01:00
Evangelos Ribeiro Tzaras c37e9d8462 dbus: Add method to silence ringing
Fixes #329
2021-12-07 07:56:02 +00:00
Evangelos Ribeiro Tzaras 2d18667ee7 call-window: Use g_clear_handle_id instead of emulating it 2021-12-05 16:51:26 +01:00
Evangelos Ribeiro Tzaras 8f6ca20a2c call-window: Clear handle id when hiding call window
This fixes GLib criticals like
GLib[464166]:CRITICAL: Source ID 17 was not found when attempting to remove it
2021-12-05 16:50:19 +01:00
Evangelos Ribeiro Tzaras 85c23cfc3d test: ringer: Test quiet ringing 2021-12-05 10:04:05 +01:00
Evangelos Ribeiro Tzaras 0f72780814 ringer: Restart ringer if quiet parameter changed
This makes sure the following sequence of events works:

- Call A incoming
- Rings loudly
- Call B incoming
- Still rings loudly
- Call A accepted
- Rings quietly
- Call A hung up
- Rings loudly again

Being able to restart the ringing is needed for this case because we cannot
retroactively change the feedback levels of a event that has already been
triggered.

Without this patch Calls would continue ringing for the scenario above even
after call A was accepted.
2021-12-05 10:04:05 +01:00
Evangelos Ribeiro Tzaras b89f6a6f17 ringer: Add is-quiet property and getter
This let's us query if the ringer is ringing quietly.
2021-12-05 10:04:03 +01:00
Evangelos Ribeiro Tzaras 7dadb3c50f tests: Add ringer tests
We mock libfeedback and CallsCall to test the ringer for the following
scenarios:
- Call state changes
- User requested silencing of ringer
- Multiple calls
2021-12-05 09:50:25 +01:00
Evangelos Ribeiro Tzaras f86162da03 flatpak: Add cmocka dependency 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras 9cdf46617f d/control: Add cmocka dependency 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras 410cf8945a ringer: Check if incoming call is silenced
Avoid ringing in this case.
2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras 1587e4c78c call: Add API to silence ringing 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras f02d22150e ringer: Add debugging 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras 9fff41fd53 ringer: Make sure to reset feedback profile if not set to "quiet" 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras e604779497 ringer: Don't warn if feedback triggering got cancelled 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras 3e26294f3c ringer: Track ringer state
This allows to cancel triggered feedbacks.
2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras 1e5edea855 ringer: Disconnect signal handlers on dispose 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras fd7193a525 ringer: Refactor to keep track of ongoing calls
This makes it easier to silence a call.
2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras 17a2c94387 ringer: codestyle 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras f206b7d257 call: Rename property from "number" to "id"
The term number is not necessarily accurate when dealing with f.e. SIP.
2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras 3e22ef8c74 record-store: Get rid of unused code 2021-12-02 05:52:44 +01:00
Evangelos Ribeiro Tzaras edfb4455f8 application: Chain up shutdown 2021-12-02 05:52:44 +01:00
Evangelos Ribeiro Tzaras 85689dbb45 history-box: Codestyle 2021-12-02 05:52:44 +01:00
Evangelos Ribeiro Tzaras aad6b85a2b application: Codestyle 2021-12-02 05:52:44 +01:00
Evangelos Ribeiro Tzaras 079fdcf441 d/changelog: Post-release version bump
For the next releases we should update d/changelog sooner as this
ensures packages grabbed from CI will not be considered a downgrade
in Debian based distributions as can be seen below:

$ sudo dpkg -i gnome-calls_41.0+librem5ci338434.69db235c_arm64.deb
dpkg: warning: downgrading gnome-calls from 41.1-1pureos1 to 41.0+librem5ci338434.69db235c

Fixes #368
2021-12-01 21:37:47 +01:00
Evangelos Ribeiro Tzaras fe7ebf51ce ci: Use PKG_ONLY variable to exclude flatpak job
This makes sure we're not wasting computational resources when we only
want to build debian packages.
2021-11-30 12:54:41 +01:00
Evangelos Ribeiro Tzaras 3b377edc81 ci: Drop debian bookworm packaging job
It is very easy to either run locally with the run script or build
a package locally with `dpkg-buildpackage`.
2021-11-30 12:54:41 +01:00
Evangelos Ribeiro Tzaras 89fd506f7d ci: Drop pedantic metainfo validation job
And instead run them as a part of the regular tests.
2021-11-30 12:05:27 +01:00
Evangelos Ribeiro Tzaras afe732d9bc flatpak: Poke hole to talk to feedbackd
Without this ringtones and haptic feedback cannot work.

Fixes #363
2021-11-26 08:42:36 +00:00
Evangelos Ribeiro Tzaras 529b35656b flatpak: Poke hole to talk to callaudiod
Without this libcallaudio functionality (audio profile switching,
speakers and microphone muting cannot work.
2021-11-26 08:42:36 +00:00
Evangelos Ribeiro Tzaras 04f43b2ce2 call-window: Delay closing window
Fixes #301
2021-11-25 19:14:42 +01:00
Evangelos Ribeiro Tzaras b083e588fa call-window: codestyle 2021-11-25 19:14:42 +01:00
Evangelos Ribeiro Tzaras 989a52fac5 record-row: Removed unused define 2021-11-25 19:14:42 +01:00
Evangelos Ribeiro Tzaras 56ec92d57f Update libcall-ui: Fix display showing number twice when not a contact
This update also brings german translations.
2021-11-25 19:14:42 +01:00
Evangelos Ribeiro Tzaras 5b6b7a7563 project: Post release version bump
Fixes #364
2021-11-25 18:35:15 +01:00
Evangelos Ribeiro Tzaras 7402cae903 ci: Fix regex for reporting code coverage
We are now using gcovr instead of lcov after
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=987818
has been closed.

The difference in output format tripped up reported code coverage in CI.
2021-11-24 14:07:37 +01:00
Evangelos Ribeiro Tzaras a28d694623 dbus: Add API to send DTMF
Addresses the calls side of #343
2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras 0761c4a53a dbus: Set can-dtmf property
This lets consumers on DBus know if this call is capable of sending DTMF.
2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras 075dca5c35 tests: Add dtmf tone validity tests 2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras afd1034dd1 util: Make dtmf tone checking function public
Moves the function out of calls-call.c into util.c
2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras 4c2717c362 dummy: Add dummy send_dtmf_tone function
This will allow DTMF to be tested UI wise when running the dummy plugin.
2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras acec33bb6c call: Get rid of unnecessary cast to int 2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras a353a03d01 call: Get rid of tone_stop
It wasn't used by any plugin backend and helps getting rid of a lot of code.
2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras 748f9c937c README: Add backend specific debugging information 2021-11-22 20:34:25 +00:00
Evangelos Ribeiro Tzaras 5a2727c0f4 README: Overhaul readme 2021-11-22 20:34:25 +00:00
Evangelos Ribeiro Tzaras d34a642f6e README: Mark oFono backend as not actively developed
The ofono section was a bit too prominent in the README considering that it's
not actively developed.

The section was moved to its own file.
2021-11-22 20:34:25 +00:00
Evangelos Ribeiro Tzaras cc7d83b26f README: Drop code coverage report
This is now included as a badge in Gitlab.
2021-11-22 20:34:25 +00:00
Evangelos Ribeiro Tzaras 2bbb923226 call-data: Notify on avatar changes
Otherwise the call display will not update.
2021-11-19 15:56:45 +01:00
Evangelos Ribeiro Tzaras 5919182c17 Update libcall-ui
This has the display name property of CuiCall wired up to CuiDisplay
so that property changes are reflected in the UI.
2021-11-19 15:56:45 +01:00
Evangelos Ribeiro Tzaras cfac02a00c call-data: Fix assertion in notify handlers 2021-11-19 15:56:45 +01:00
Evangelos Ribeiro Tzaras da648829b4 best-match: Rename best_match variable to matched_individual
This makes it a bit clearer what the variable is used for.
2021-11-19 15:56:45 +01:00
Evangelos Ribeiro Tzaras dc96d892f5 Remove encryption indicator
Not used anymore since we switched to libcall-ui.
Should've been removed as a part of !425.
2021-11-19 15:56:37 +01:00
Evangelos Ribeiro Tzaras 3aba0bf34d po: Remove call display files
The call display was removed in !425 and this should've been part of edd85602.
2021-11-19 15:56:37 +01:00
Evangelos Ribeiro Tzaras 76ec1e6941 record-row: Use avatars in history
Fixes #147
2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras 4e9eedb5fa call-data: Implement avatar property
Fixes #161
2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras c3dd169432 Update libcall-ui submodule 2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras ff96d70ac7 meson: Don't build tests, examples or documentation for libcall-ui
Not necessary when building Calls.
2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras 719f11f42b coverage: Exclude subprojects and generated dbus code 2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras 4c44284bd1 ci: Use gcovr for coverage reports 2021-11-18 12:15:21 +01:00
Evangelos Ribeiro Tzaras edd8560291 Remove CallsCallDisplay 2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras dc454837d6 Switch from CallsCallDisplay to CuiCallDisplay
Closes #302
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras 4321381f23 Introduce CallsUiCallData to feed CuiDisplay
We need a proxy object because implementing the CuiCall interface in the
CallsCall base class has it's own set of problems (f.e. the "state" property
would have a type collision CallsCallState vs CuiCallState).
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras c5636ab71c call: Add API to query whether this call can do DTMF
This allows enable or disable UI elements.
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras bf72169f68 application: Initialize libcall-ui 2021-11-16 09:39:34 +01:00