From 111434eecbdf374973df03332f9ef8c5e9f43927 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 31 Mar 2016 17:04:18 +0200 Subject: [PATCH] Fixed do not disturb led color --- coreapi/friend.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/coreapi/friend.c b/coreapi/friend.c index 7d43f1f9f..7d0c43196 100644 --- a/coreapi/friend.c +++ b/coreapi/friend.c @@ -460,6 +460,7 @@ LinphoneOnlineStatus linphone_friend_get_status(const LinphoneFriend *lf){ LinphoneOnlineStatus online_status = LinphoneStatusOffline; LinphonePresenceBasicStatus basic_status = LinphonePresenceBasicStatusClosed; LinphonePresenceActivity *activity = NULL; + const char *description = NULL; unsigned int nb_activities = 0; if (lf->presence != NULL) { @@ -476,6 +477,7 @@ LinphoneOnlineStatus linphone_friend_get_status(const LinphoneFriend *lf){ } if (nb_activities == 1) { activity = linphone_presence_model_get_activity(lf->presence); + description = linphone_presence_activity_get_description(activity); switch (linphone_presence_activity_get_type(activity)) { case LinphonePresenceActivityBreakfast: case LinphonePresenceActivityDinner: @@ -502,6 +504,12 @@ LinphoneOnlineStatus linphone_friend_get_status(const LinphoneFriend *lf){ online_status = LinphoneStatusVacation; break; case LinphonePresenceActivityBusy: + if (description && strcmp(description, "Do not disturb") == 0) { // See linphonecore.c linphone_core_set_presence_info() method + online_status = LinphoneStatusDoNotDisturb; + } else { + online_status = LinphoneStatusBusy; + } + break; case LinphonePresenceActivityLookingForWork: case LinphonePresenceActivityPlaying: case LinphonePresenceActivityShopping: