Fix the progress bar displaying bug (TSAM-8500) 87/90787/1 accepted/tizen/3.0/mobile/20161015.033935 accepted/tizen/common/20161004.194400 accepted/tizen/mobile/20161005.080333 submit/tizen/20161004.103226 submit/tizen_3.0_mobile/20161015.000005
authorDoHyun Pyun <dh79.pyun@samsung.com>
Tue, 4 Oct 2016 08:37:23 +0000 (17:37 +0900)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Tue, 4 Oct 2016 08:37:23 +0000 (17:37 +0900)
Change-Id: I5ec03870031ec8921c786995cb8b49a5ed03769d
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
packaging/org.tizen.bluetooth-share-ui.spec
src/bt-share-ui-ipc.c [changed mode: 0755->0644]

index 1185d8ec659a9f8c809c650f944800e45c69d508..979a85e2436087425a5813329d111db202d35ab2 100755 (executable)
@@ -3,7 +3,7 @@
 
 Name:       org.tizen.bluetooth-share-ui
 Summary:    bluetooth share UI application
-Version:    0.0.88
+Version:    0.0.89
 Release:    1
 Group:      TO_BE_FILLED
 License:    Flora-1.1
old mode 100755 (executable)
new mode 100644 (file)
index 28e2864..a1b9b51
@@ -167,10 +167,59 @@ static void __handle_obex_server_signal(void *data, DBusMessage *msg)
                return;
 
        retm_if(member == NULL, "member value is NULL\n");
+       if (strcasecmp(member, BT_TRANSFER_STARTED) == 0) {
+               char *file_name = NULL;
+               char *type = NULL;
+               char *device_name = NULL;
+               char *device_addr = NULL;
+               int transfer_id = 0;
+               int server_type = 0; /* bt_server_type_t */
+               guint64 size = 0;
+               bt_obex_server_transfer_info_t transfer_info;
+
+               if (!dbus_message_get_args(msg, NULL,
+                       DBUS_TYPE_INT32, &result,
+                       DBUS_TYPE_STRING, &device_name,
+                       DBUS_TYPE_STRING, &file_name,
+                       DBUS_TYPE_STRING, &type,
+                       DBUS_TYPE_STRING, &device_addr,
+                       DBUS_TYPE_UINT64, &size,
+                       DBUS_TYPE_INT32, &transfer_id,
+                       DBUS_TYPE_INT32, &server_type,
+                       DBUS_TYPE_INVALID)) {
+                       ERR("Unexpected parameters in signal");
+                       return;
+               }
+
+               memset(&transfer_info, 0x00,
+                       sizeof(bt_obex_server_transfer_info_t));
+
+               transfer_info.device_name = g_strdup(device_name);
+               transfer_info.address = g_strdup(device_addr);
+               transfer_info.filename = g_strdup(file_name);
+               transfer_info.type = g_strdup(type);
+               transfer_info.file_size = size;
+               transfer_info.transfer_id = transfer_id;
+               transfer_info.percentage = 0;
+
+               event_info.event = BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED;
+               event_info.param_data = &transfer_info;
+               event_info.result = result;
+               event_info.user_data = data;
 
-       if (strcasecmp(member, BT_TRANSFER_PROGRESS) == 0) {
+               _bt_share_ui_event_handler(
+                               BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED,
+                               &event_info, event_info.user_data);
+
+               g_free(transfer_info.device_name);
+               g_free(transfer_info.address);
+               g_free(transfer_info.filename);
+               g_free(transfer_info.type);
+       } else if (strcasecmp(member, BT_TRANSFER_PROGRESS) == 0) {
                char *file_name = NULL;
                char *type = NULL;
+               char *device_name = NULL;
+               char *device_addr = NULL;
                int transfer_id = 0;
                int progress = 0;
                int server_type = 0; /* bt_server_type_t */
@@ -181,6 +230,8 @@ static void __handle_obex_server_signal(void *data, DBusMessage *msg)
                        DBUS_TYPE_INT32, &result,
                        DBUS_TYPE_STRING, &file_name,
                        DBUS_TYPE_STRING, &type,
+                       DBUS_TYPE_STRING, &device_name,
+                       DBUS_TYPE_STRING, &device_addr,
                        DBUS_TYPE_UINT64, &size,
                        DBUS_TYPE_INT32, &transfer_id,
                        DBUS_TYPE_INT32, &progress,
@@ -193,6 +244,8 @@ static void __handle_obex_server_signal(void *data, DBusMessage *msg)
                memset(&transfer_info, 0x00,
                        sizeof(bt_obex_server_transfer_info_t));
 
+               transfer_info.device_name = g_strdup(device_name);
+               transfer_info.address = g_strdup(device_addr);
                transfer_info.filename = g_strdup(file_name);
                transfer_info.type = g_strdup(type);
                transfer_info.file_size = size;
@@ -208,11 +261,14 @@ static void __handle_obex_server_signal(void *data, DBusMessage *msg)
                                BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_PROGRESS,
                                &event_info, event_info.user_data);
 
+               g_free(transfer_info.device_name);
+               g_free(transfer_info.address);
                g_free(transfer_info.filename);
                g_free(transfer_info.type);
        } else if (strcasecmp(member, BT_TRANSFER_COMPLETED) == 0) {
                char *file_name = NULL;
                char *device_name = NULL;
+               char *device_addr = NULL;
                char *type = NULL;
                char *file_path;
                int transfer_id = 0;
@@ -226,6 +282,7 @@ static void __handle_obex_server_signal(void *data, DBusMessage *msg)
                        DBUS_TYPE_STRING, &type,
                        DBUS_TYPE_STRING, &device_name,
                        DBUS_TYPE_STRING, &file_path,
+                       DBUS_TYPE_STRING, &device_addr,
                        DBUS_TYPE_UINT64, &size,
                        DBUS_TYPE_INT32, &transfer_id,
                        DBUS_TYPE_INT32, &server_type,
@@ -240,6 +297,7 @@ static void __handle_obex_server_signal(void *data, DBusMessage *msg)
                transfer_info.filename = g_strdup(file_name);
                transfer_info.type = g_strdup(type);
                transfer_info.device_name = g_strdup(device_name);
+               transfer_info.address = g_strdup(device_addr);
                transfer_info.file_path = g_strdup(file_path);
                transfer_info.file_size = size;
                transfer_info.transfer_id = transfer_id;
@@ -256,6 +314,7 @@ static void __handle_obex_server_signal(void *data, DBusMessage *msg)
                g_free(transfer_info.filename);
                g_free(transfer_info.type);
                g_free(transfer_info.device_name);
+               g_free(transfer_info.address);
                g_free(transfer_info.file_path);
        }
 }