Add missed patchset 75/144275/1
authorinjun.yang <injun.yang@samsung.com>
Wed, 16 Aug 2017 06:20:49 +0000 (15:20 +0900)
committerinjun.yang <injun.yang@samsung.com>
Wed, 16 Aug 2017 06:20:49 +0000 (15:20 +0900)
Some code missed from below commit

commit 6ef7f5f7ca21435c3c0b0b50c6dedfe6a807f655
Author: Seungyoun Ju <sy39.ju@samsung.com>
Date:   Thu Jun 22 15:21:01 2017 +0900

Refactoring GATT client service changed logic

Change-Id: Ib63bfd076514de95df3d6a72fee2da76a57663a1
Signed-off-by: injun.yang <injun.yang@samsung.com>
bt-api/bt-gatt-client.c

index 51a50ec..f9dd7dc 100644 (file)
@@ -112,7 +112,7 @@ gboolean _bluetooth_gatt_check_service_change_watcher_address(
                bluetooth_device_address_t *addr = l->data;
 
                if (!memcmp(device_addr, addr,
-                               sizeof(bluetooth_device_address_t)))
+                           sizeof(bluetooth_device_address_t)))
                        return TRUE;
        }
 
@@ -124,35 +124,33 @@ BT_EXPORT_API int bluetooth_gatt_set_service_change_watcher(
 {
        GSList *l;
        bluetooth_device_address_t *addr = NULL;
-       char device_address[BT_ADDRESS_STRING_SIZE] = { 0 };
        char secure_address[BT_ADDRESS_STRING_SIZE] = { 0 };
 
-       _bt_convert_addr_type_to_string(device_address,
-                       (unsigned char *)address->addr);
-       _bt_convert_addr_string_to_secure_string(secure_address,
-                       device_address);
+       _bt_convert_addr_type_to_secure_string(secure_address, (unsigned char *)address->addr);
        BT_INFO("Set watcher for %s with %d", secure_address, enable);
 
        if (enable == TRUE) {
-               if (service_monitor_list == NULL)
-                       _bt_register_manager_subscribe_signal(TRUE);
-
                if (_bluetooth_gatt_check_service_change_watcher_address(address)
                                == TRUE) {
                        BT_INFO("The watcher is already set");
                        return BLUETOOTH_ERROR_NONE;
                }
+
+               if (service_monitor_list == NULL) {
+                       _bt_register_manager_subscribe_signal(TRUE);
+               }
+
                addr = g_malloc0(sizeof(bluetooth_device_address_t));
                memcpy(addr, address, sizeof(bluetooth_device_address_t));
 
                service_monitor_list =
                        g_slist_append(service_monitor_list, addr);
        } else {
-
                for (l = service_monitor_list; l != NULL; l = l->next) {
                        addr = l->data;
+
                        if (!memcmp(address, addr,
-                                       sizeof(bluetooth_device_address_t))) {
+                                   sizeof(bluetooth_device_address_t))) {
                                service_monitor_list =
                                        g_slist_remove(service_monitor_list, addr);
                                g_free(addr);