From 0ae5fde65e8c59af05b2ba0cb012e9346579042c Mon Sep 17 00:00:00 2001 From: Jo De Boeck Date: Sat, 26 Jun 2021 23:37:58 +0200 Subject: [PATCH] Add caller name and picture for calls Fixes: https://github.com/bboozzoo/mconnect/issues/58 Signed-off-by: Jo De Boeck --- src/mconnect/telephony.vala | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/mconnect/telephony.vala b/src/mconnect/telephony.vala index 1d20d3e..025186c 100644 --- a/src/mconnect/telephony.vala +++ b/src/mconnect/telephony.vala @@ -80,10 +80,23 @@ class TelephonyHandler : Object, PacketHandlerInterface { // telephony packets have no time information var time = new DateTime.now_local (); - number = "%s %s".printf (time.format ("%X"), number); - - var notif = new Notify.Notification (summary, number, - "phone"); + string info = ""; + if (pkt.body.has_member("contactName")) { + info = "%s %s (%s)".printf (time.format ("%X"), pkt.body.get_string_member("contactName"), number); + } else { + info = "%s %s".printf (time.format ("%X"), number); + } + var notif = new Notify.Notification (summary, info, "phone"); + + if (pkt.body.has_member("phoneThumbnail")) { + var data = GLib.Base64.decode(pkt.body.get_string_member("phoneThumbnail")); + var stream = new MemoryInputStream.from_data( data ); + try { + notif.set_icon_from_pixbuf(new Gdk.Pixbuf.from_stream( stream )); + } catch (Error e) { + critical ("failed to load image data: %s", e.message); + } + } try { notif.show (); } catch (Error e) { @@ -122,4 +135,4 @@ class TelephonyHandler : Object, PacketHandlerInterface { public void send_sms (Device dev, string number, string message) { dev.send (make_sms_packet (number, message)); } -} \ No newline at end of file +}