[Fix] Send user_cb for every user accepted/tizen/unified/20191205.142701 submit/tizen/20191205.122156
authorLokesh <l.kasana@samsung.com>
Thu, 5 Dec 2019 09:36:15 +0000 (15:06 +0530)
committersaerome.kim <saerome.kim@samsung.com>
Thu, 5 Dec 2019 12:16:33 +0000 (21:16 +0900)
And send user_cb with null user, in case AND_OR conditions have env sensors only

Change-Id: Id3640111c88fa68e8d65e2e273b5c77cb79e2f7a
Signed-off-by: Lokesh <l.kasana@samsung.com>
packaging/capi-network-ua.spec
src/user-awareness-monitors.c

index 6ead266aeec888059fadc32edd3f0b2664dd5c58..33f3edaf4a09c1a471c2ae127276b4f57b39b63d 100644 (file)
@@ -1,6 +1,6 @@
 Name: capi-network-ua
 Summary: User Awareness Framework CAPI
-Version: 0.13.4
+Version: 0.13.5
 Release: 1
 License: Apache-2.0
 Source0: %{name}-%{version}.tar.gz
index 04f69ce664d777c212e56c9f38da9542927c8098..8b86e8de4baa34caa771ac21da95ce44a61438b7 100644 (file)
 GSList *ua_monitor_list;
 static ua_monitor_h scanning_monitor = NULL;
 
+static gboolean __ua_monitor_is_only_env_in_conditions(
+               ua_monitor_s *monitor)
+{
+       return !((monitor->presence_bitmask_and | monitor->presence_bitmask_or) &
+                       (UA_SENSOR_WIFI | UA_SENSOR_BLE | UA_SENSOR_BT));
+}
+
 static int __ua_stop_monitoring(unsigned int bitmask, char *service,
        ua_detection_type_e detect)
 {
@@ -278,9 +285,9 @@ static void __ua_monitor_send_user_presence_cb(ua_monitor_s *monitor,
 
        ret_if(NULL == user_state);
 
-       /** Block user callback if environmental callback already sent*/
-       if (monitor->env_user_cb_sent) {
-               UA_DBG("Environmental User presence cb already sent");
+       /** Block user callback if only environmental sensors in AND/OR conditions*/
+       if (__ua_monitor_is_only_env_in_conditions(monitor)) {
+               UA_DBG("AND/OR conditions have env sensors only, so no user cb");
                FUNC_EXIT;
                return;
        }
@@ -494,8 +501,8 @@ static void __ua_monitor_send_sensor_presence_cb(ua_monitor_s *monitor,
 }
 
 static void __ua_sensor_presence_detected(ua_monitor_s *monitor,
-               ua_sensor_info_s *sensor_info, char *account, unsigned long long last_seen,
-               char *device_id)
+               ua_sensor_info_s *sensor_info, char *account,
+               unsigned long long last_seen, char *device_id)
 {
        FUNC_ENTRY;