Fix the problem that can't add a device to a user accepted/tizen/5.5/unified/20191104.111252 submit/tizen_5.5/20191101.035514
authorsaerome.kim <saerome.kim@samsung.com>
Fri, 1 Nov 2019 01:10:13 +0000 (10:10 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Fri, 1 Nov 2019 03:54:52 +0000 (12:54 +0900)
- Problem: Once user_id exceeded 0xFFFF then can't add a device to the
  user anymore.
- Cause: ua-manager is managing user_id as a maximun 16-bit unsigned
  integer.
- Solution: change user_id type to 32-bit integer.

Change-Id: I31cdf1fe7bc7ed580091f81fd50f48882f715cbe
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
packaging/ua-manager.spec
ua-daemon/include/ua-plugin-manager.h
ua-daemon/src/pm/ua-plugin-manager.c
ua-daemon/src/pm/ua-wifi-plugin-handler.c
ua-daemon/src/ua-manager-core.c

index 3394cb3..6f06cea 100644 (file)
@@ -1,6 +1,6 @@
 Name:       ua-manager
 Summary:    User awareness manager
-Version:    0.12.7
+Version:    0.12.8
 Release:    1
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
index 9f07b9e..6ee3b3a 100644 (file)
@@ -40,9 +40,9 @@ unsigned int _uam_pm_get_avaliable_sensors(void);
 
 gboolean _uam_pm_is_sensor_ready(unsigned int sensor_bitmask);
 
-int _uam_pm_register_device(unsigned short user_id, const uam_device_info_s *dev);
+int _uam_pm_register_device(int user_id, const uam_device_info_s *dev);
 
-int _uam_pm_unregister_device(unsigned short user_id, const uam_device_info_s *dev);
+int _uam_pm_unregister_device(int user_id, const uam_device_info_s *dev);
 
 int _uam_pm_start_detection(unsigned int detection_mode, unsigned int sensor_bitmask);
 
index aebace5..a38d59c 100644 (file)
@@ -386,7 +386,7 @@ gboolean _uam_pm_is_sensor_ready(unsigned int sensor_bitmask)
        return (UAS_STATE_READY == state ? TRUE : FALSE);
 }
 
-int _uam_pm_register_device(unsigned short user_id, const uam_device_info_s *dev)
+int _uam_pm_register_device(int user_id, const uam_device_info_s *dev)
 {
        FUNC_ENTRY;
        int id;
@@ -416,7 +416,7 @@ int _uam_pm_register_device(unsigned short user_id, const uam_device_info_s *dev
        return UAM_ERROR_NONE;
 }
 
-int _uam_pm_unregister_device(unsigned short user_id, const uam_device_info_s *dev)
+int _uam_pm_unregister_device(int user_id, const uam_device_info_s *dev)
 {
        FUNC_ENTRY;
        int id;
index 39ce9bb..43181b8 100644 (file)
@@ -103,6 +103,7 @@ static void wifi_device_added_callback(int status, uas_device_info_t *device)
        else
                status = UAM_ERROR_NONE;
 
+       UAM_INFO("[%d]", device->user_id);
        _uam_core_handle_device_added(status, device->user_id, dev_info);
        g_free(dev_info);
        FUNC_EXIT;
index 1deadc5..05ecb5c 100644 (file)
@@ -73,7 +73,9 @@ static gint __compare_user_account(gconstpointer data, gconstpointer user_data)
 static gint __compare_user_id(gconstpointer data, gconstpointer user_data)
 {
        const uam_db_user_info_t *user = data;
-       const unsigned short *id = user_data;
+       const int *id = user_data;
+
+       UAM_INFO("[%d][%d]", *id, user->user_id);
 
        retv_if(NULL == user, -1);
        retv_if(NULL == user->account, -1);
@@ -256,7 +258,7 @@ static void __remove_user_device(gpointer data)
        FUNC_ENTRY;
        uam_db_device_info_t *device = data;
        uam_device_info_s dev_info;
-       unsigned short user_id;
+       int user_id;
        GSList *l;
 
        ret_if(NULL == device);
@@ -897,6 +899,8 @@ int _uam_core_add_device(const char *account, const uam_device_info_s *dev_info)
                                UAM_ERROR_ALREADY_REGISTERED);
        }
 
+       UAM_INFO("[%d]", user->user_id);
+
        ret = _uam_pm_register_device(user->user_id, dev_info);
        if (UAM_ERROR_NONE != ret) {
                UAM_ERR("_uam_pm_register_device failed with %s",
@@ -2416,6 +2420,8 @@ int _uam_core_handle_device_added(int status,
        GSList *svc_list = NULL;
        unsigned long long timestamp;
 
+       UAM_INFO("[%d]", user_id);
+
        /* Send reply over dbus for add device API */
        l = _uam_manager_get_request_list();
        for (; NULL != l; l = g_slist_next(l)) {