From: Abhay agarwal Date: Mon, 14 Oct 2019 07:12:07 +0000 (+0530) Subject: Provide user callback to applications as soon as possible X-Git-Tag: submit/tizen/20191017.002636~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a1609c4025599beea9301131a259c3cb488e9374;p=platform%2Fcore%2Fapi%2Fuser-awareness.git Provide user callback to applications as soon as possible Provide user callback earlier instead of waiting for detection window to complete. Callback is provided as soon as the AND/OR condition for a particular user is met. This will result in missing of device/sensor information in callback provided for the device/sensor detected after sending callback. Change-Id: I7a5a1912a66ec932ef261f74f354d4717994decf Signed-off-by: Abhay agarwal --- diff --git a/packaging/capi-network-ua.spec b/packaging/capi-network-ua.spec index 41ee5fa..15b45fd 100644 --- a/packaging/capi-network-ua.spec +++ b/packaging/capi-network-ua.spec @@ -1,6 +1,6 @@ Name: capi-network-ua Summary: User Awareness Framework CAPI -Version: 0.11.8 +Version: 0.11.9 Release: 1 License: Apache-2.0 Source0: %{name}-%{version}.tar.gz diff --git a/src/user-awareness-monitors.c b/src/user-awareness-monitors.c index 2e9cd3a..39ab618 100644 --- a/src/user-awareness-monitors.c +++ b/src/user-awareness-monitors.c @@ -472,6 +472,7 @@ static void __ua_sensor_presence_detected(ua_monitor_s *monitor, FUNC_ENTRY; GSList *l; + GSList *l1; int found = 0; int ret = UA_ERROR_NONE; ua_user_state_info_s *user_state = NULL; @@ -522,6 +523,22 @@ static void __ua_sensor_presence_detected(ua_monitor_s *monitor, __ua_monitor_send_sensor_presence_cb(monitor, device_handle, sensor_info); + if (account && user_state) { + __ua_monitor_send_user_presence_cb(monitor, user_state); + } + + if (!account) { + for (l1 = monitor->user_state; NULL != l1; l1 = g_slist_next(l1)) { + ua_user_state_info_s *user_state = l1->data; + + if (user_state) { + UA_DBG("user_state->account [%s]", user_state->account); + __ua_monitor_send_user_presence_cb(monitor, user_state); + } + } + __ua_monitor_send_env_user_presence_cb(monitor); + } + FUNC_EXIT; }