From cce8318a648827e5e0c5d471d2143e5d2cc6bee2 Mon Sep 17 00:00:00 2001 From: Evangelos Ribeiro Tzaras Date: Fri, 18 Jun 2021 11:47:21 +0200 Subject: [PATCH] notifier: Explicitly handle unknown callers Closes #288 --- src/calls-notifier.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/calls-notifier.c b/src/calls-notifier.c index 7551f3f..89d98fc 100644 --- a/src/calls-notifier.c +++ b/src/calls-notifier.c @@ -49,24 +49,31 @@ notify (CallsNotifier *self, CallsCall *call) g_autofree gchar *ref = NULL; g_autofree gchar *label_callback = NULL; const char *name; + const char *number; + gboolean got_number; contact = calls_call_get_contact (call); // TODO: We need to update the notification when the contact name changes name = calls_best_match_get_name (contact); + number = calls_call_get_number (call); + + got_number = !!number && (g_strcmp0 (number, "") != 0); if (calls_best_match_has_individual (contact)) msg = g_strdup_printf (_("Missed call from %s"), name); + else if (got_number) + msg = g_strdup_printf (_("Missed call from %s"), number); else - msg = g_strdup_printf (_("Missed call from %s"), calls_call_get_number (call)); + msg = g_strdup (_("Missed call from unknown caller")); g_notification_set_body (notification, msg); - if (calls_call_get_number (call)) { - label_callback = g_strdup_printf ("app.dial::%s", calls_call_get_number (call)); + if (got_number) { + label_callback = g_strdup_printf ("app.dial::%s", number); g_notification_add_button (notification, _("Call back"), label_callback); } - ref = g_strdup_printf ("missed-call-%s", calls_call_get_number (call) ?: "unknown"); + ref = g_strdup_printf ("missed-call-%s", number ?: "unknown"); g_application_send_notification (app, ref, notification); }