From f18f93b78567452c24465b956f1bba41d5375840 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Fri, 7 Aug 2020 15:04:23 +0900 Subject: [PATCH 01/16] Update package version to 0.1.61 Change-Id: Iac8c9f83602addcce8e695923762238e6ebb8fdc Signed-off-by: Jihoon Kim --- packaging/capi-ui-sticker.spec | 2 +- receiver/tizen-manifest.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/capi-ui-sticker.spec b/packaging/capi-ui-sticker.spec index 7453cc6..0e1f5c9 100644 --- a/packaging/capi-ui-sticker.spec +++ b/packaging/capi-ui-sticker.spec @@ -1,6 +1,6 @@ Name: capi-ui-sticker Summary: Sticker client library and daemon -Version: 0.1.60 +Version: 0.1.61 Release: 1 Group: Graphics & UI Framework/Input License: Apache-2.0 diff --git a/receiver/tizen-manifest.xml b/receiver/tizen-manifest.xml index 247a220..d4cdf2e 100644 --- a/receiver/tizen-manifest.xml +++ b/receiver/tizen-manifest.xml @@ -1,5 +1,5 @@ - + -- 2.7.4 From 5536db9e95adae1016e7b537552ce318ac225a02 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Mon, 10 Aug 2020 15:03:16 +0900 Subject: [PATCH 02/16] Replace LOGI with STLOGI in sticker-receiver Change-Id: I55fafa0fad8a753a49a6eb31e6dc9785baad8861 Signed-off-by: Jihoon Kim --- receiver/src/ft.cpp | 38 +++++++++++++++++++------------------- receiver/src/main.cpp | 6 +++--- receiver/src/sticker_info.cpp | 4 ++-- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/receiver/src/ft.cpp b/receiver/src/ft.cpp index eda0692..629d54f 100644 --- a/receiver/src/ft.cpp +++ b/receiver/src/ft.cpp @@ -98,7 +98,7 @@ static void save_last_sync_time() // save last sync time in preference double current_time = ecore_time_unix_get(); if (preference_set_double(LAST_SYNC_TIME, current_time) == PREFERENCE_ERROR_NONE) { - LOGI("Succeed to set last sync time : %f", current_time); + STLOGI("Succeed to set last sync time : %f", current_time); } else { STLOGW("Failed to set last sync time"); @@ -189,7 +189,7 @@ static void notify_sync_progress(unsigned int file_progress) if (total_file_count_in_group == 0) return; - LOGI("(%2d / %2d), file progress : %3u%%", rec_file_cnt_in_group+1, total_file_count_in_group, file_progress); + STLOGI("(%2d / %2d), file progress : %3u%%", rec_file_cnt_in_group+1, total_file_count_in_group, file_progress); send_message("sync_progress", NULL); } @@ -204,13 +204,13 @@ static void _on_transfer_completed(sap_file_transaction_h file_transaction, } if (result == SAP_FT_TRANSFER_SUCCESS) { - LOGI("Transfer Completed"); + STLOGI("Transfer Completed"); if (chmod(sticker_data.file_path.c_str(), S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) == -1) { STLOGE("Failed to change permission : %s. error : %s", sticker_data.file_path.c_str(), strerror(errno)); } else { - LOGI("Succeed to change permission : %s", sticker_data.file_path.c_str()); + STLOGI("Succeed to change permission : %s", sticker_data.file_path.c_str()); char thumb_path[PATH_MAX]; char *data_path = NULL; data_path = app_get_shared_data_path(); @@ -300,7 +300,7 @@ static void _on_transfer_file_in_progress(sap_file_transaction_h file_transactio static void __set_file_transfer_cb(sap_file_transaction_h file_socket) { - LOGI("# set callbacks"); + STLOGI("# set callbacks"); sap_file_transfer_set_progress_cb(file_socket, _on_transfer_file_in_progress, NULL); sap_file_transfer_set_done_cb(file_socket, _on_transfer_completed, NULL); @@ -318,9 +318,9 @@ void accept_file() char *data_path = NULL; data_path = app_get_shared_data_path(); - LOGI("Path : %s", data_path); + STLOGI("Path : %s", data_path); snprintf(file_path, sizeof(file_path), "%s/%s", data_path, incoming_file_name.c_str()); - LOGI("Receive filepath : %s", file_path); + STLOGI("Receive filepath : %s", file_path); sticker_data.file_path = string(file_path); if (data_path) @@ -335,7 +335,7 @@ void accept_file() STLOGW("Fail"); break; case SAP_RESULT_SUCCESS: - LOGI("Success"); + STLOGI("Success"); break; } @@ -377,7 +377,7 @@ bool request_sticker_data(const char *mode, const char *category, const char *ty pending_request.type = string(type ? type : "input"); ReqQueue.push(pending_request); - LOGI("Push sync request"); + STLOGI("Push sync request"); return false; } @@ -505,7 +505,7 @@ void request_sticker_feature() StickerRequest pending_request; pending_request.req_type = REQUEST_TYPE_FEATURE_REQ; ReqQueue.push(pending_request); - LOGI("Push sync feature request"); + STLOGI("Push sync feature request"); return; } @@ -559,7 +559,7 @@ void request_show_sync_notification() StickerRequest pending_request; pending_request.req_type = REQUEST_TYPE_SHOW_NOTIFICATION; ReqQueue.push(pending_request); - LOGI("Push show notification request"); + STLOGI("Push show notification request"); return; } @@ -584,7 +584,7 @@ void request_show_sync_notification() void reject_file() { int ret = sap_file_transfer_reject(priv_data.file_socket); - LOGI("ret : %d", ret); + STLOGI("ret : %d", ret); file_on_progress = FALSE; } @@ -596,14 +596,14 @@ static void _on_transfer_file_cb(sap_peer_agent_h peer_agent_h, { file_on_progress = TRUE; priv_data.file_socket = socket; - LOGI("# incoming file request."); + STLOGI("# incoming file request."); __set_file_transfer_cb(priv_data.file_socket); incoming_file_name = file_path; std::size_t found = incoming_file_name.find_last_of("/"); incoming_file_name = incoming_file_name.substr(found+1); - LOGI("# file path : %s, incoming file name : %s", file_path, incoming_file_name.c_str()); + STLOGI("# file path : %s, incoming file name : %s", file_path, incoming_file_name.c_str()); accept_file(); } @@ -724,7 +724,7 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in void *user_data) /* message exchange on_receive callback (sap_agent_data_received_cb) */ { unsigned int buf_len = strlen((char *)buffer); - LOGI("received data: %s, len: %d, buffer len : %d", (char *)buffer, payload_length, buf_len); + STLOGI("received data: %s, len: %d, buffer len : %d", (char *)buffer, payload_length, buf_len); JsonParser *parser = json_parser_new(); GError *err_msg = NULL; @@ -994,7 +994,7 @@ static void on_conn_req(sap_peer_agent_h peer_agent, switch (result) { case SAP_CONNECTION_SUCCESS: - LOGI("Connection success"); + STLOGI("Connection success"); priv_data.socket = socket; sap_peer_agent_accept_service_connection(peer_agent); sap_peer_agent_set_service_connection_terminated_cb(peer_agent, conn_terminated, &priv_data); @@ -1002,7 +1002,7 @@ static void on_conn_req(sap_peer_agent_h peer_agent, break; case SAP_CONNECTION_ALREADY_EXIST: priv_data.socket = socket; - LOGI("Connection Already Exist"); + STLOGI("Connection Already Exist"); break; case SAP_CONNECTION_FAILURE_DEVICE_UNREACHABLE: STLOGW("Connection failure device unreachable"); @@ -1045,7 +1045,7 @@ _on_service_connection_created(sap_peer_agent_h peer_agent, sap_socket_set_data_received_cb(socket, on_data_received, peer_agent); priv->socket = socket; - LOGI("Connection Established"); + STLOGI("Connection Established"); process_request_queue(); @@ -1053,7 +1053,7 @@ _on_service_connection_created(sap_peer_agent_h peer_agent, case SAP_CONNECTION_ALREADY_EXIST: priv->socket = socket; - LOGI("Connection Already Exist"); + STLOGI("Connection Already Exist"); break; case SAP_CONNECTION_FAILURE_DEVICE_UNREACHABLE: diff --git a/receiver/src/main.cpp b/receiver/src/main.cpp index a829059..07e6a24 100644 --- a/receiver/src/main.cpp +++ b/receiver/src/main.cpp @@ -81,12 +81,12 @@ static bool check_battery_condition() return false; } - LOGI("battery percent : %d", battery_percentage); + STLOGI("battery percent : %d", battery_percentage); if (battery_percentage >= MINIMUM_BATTERY) return true; else { - LOGI("No sync due to insufficient battery"); + STLOGI("No sync due to insufficient battery"); return false; } } @@ -249,7 +249,7 @@ static void app_control(app_control_h app_control, void *data) param_error = true; } - LOGI("[sync request] mode : %s, type : %s", mode, type); + STLOGI("[sync request] mode : %s, type : %s", mode, type); if (param_error) goto cleanup; diff --git a/receiver/src/sticker_info.cpp b/receiver/src/sticker_info.cpp index 435d507..fa7c2ff 100644 --- a/receiver/src/sticker_info.cpp +++ b/receiver/src/sticker_info.cpp @@ -107,7 +107,7 @@ insert_sticker_data(const char *filepath, const char *keyword, const char *group STLOGE("Failed to insert data. error code : %x. message : %s", ret, get_error_message(ret)); } else { - LOGI("Succeeded to insert data"); + STLOGI("Succeeded to insert data"); } /* Destroys a sticker data handle */ @@ -172,4 +172,4 @@ void delete_all_stickers(const char *groupName) ret = sticker_provider_data_foreach_all(sticker_provider, 0, total_cnt, &result, _delete_all_stickers_cb, (void *)groupName); if (ret != STICKER_ERROR_NONE) STLOGE("Failed to retrieve all sticker data. ret : %d", ret); -} \ No newline at end of file +} -- 2.7.4 From 94a46fbd63e3ea1abfdc5f518be311d4b979194d Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Tue, 11 Aug 2020 21:03:44 +0900 Subject: [PATCH 03/16] Fix bug not to send sticker count in manual request mode Change-Id: I08d4ac51189d9637f525be0a6fd24830faa11e35 Signed-off-by: Jihoon Kim --- receiver/src/main.cpp | 109 ++++++++++++++++++++++++++------------------------ 1 file changed, 57 insertions(+), 52 deletions(-) diff --git a/receiver/src/main.cpp b/receiver/src/main.cpp index 07e6a24..7fa1a9f 100644 --- a/receiver/src/main.cpp +++ b/receiver/src/main.cpp @@ -195,10 +195,15 @@ static void app_control(app_control_h app_control, void *data) request_sticker_feature(); request_auto_sync(); } + else { + if (!get_job_progress()) { + STLOGD("exit"); + service_app_exit(); + } + } } else { - if (!get_job_progress()) - { + if (!get_job_progress()) { STLOGD("exit"); service_app_exit(); } @@ -215,63 +220,63 @@ static void app_control(app_control_h app_control, void *data) } } else if (strcmp(operation, APP_CONTROL_OPERATION_DEFAULT) == 0) { -#ifdef VCONFKEY_STICKER_SUPPORTED_FEATURE - // Check whether oobe has been done - int feature_flag = 0; - if (vconf_get_int(VCONFKEY_STICKER_SUPPORTED_FEATURE, &feature_flag) == 0 && feature_flag == 0) { - STLOGD("Request to get sticker feature"); - initialize_sap(); - request_sticker_feature(); - } - else { - if (!is_init_sap()) - service_app_exit(); - } -#endif - } - } - else { - STLOGW("Failed to get operation. error : %d", ret); - } - - // sync request - res = app_control_get_extra_data(app_control, "request", &request); - if (APP_CONTROL_ERROR_NONE == res && NULL != request) { - if (strcmp(request, "sync") == 0) { - bool param_error = false; - if (app_control_get_extra_data(app_control, "mode", &mode) != APP_CONTROL_ERROR_NONE) { - STLOGE("No given mode"); - param_error = true; - } + // sync request + res = app_control_get_extra_data(app_control, "request", &request); + if (APP_CONTROL_ERROR_NONE == res && NULL != request) { + if (strcmp(request, "sync") == 0) { + bool param_error = false; + if (app_control_get_extra_data(app_control, "mode", &mode) != APP_CONTROL_ERROR_NONE) { + STLOGE("No given mode"); + param_error = true; + } - if (app_control_get_extra_data(app_control, "type", &type) != APP_CONTROL_ERROR_NONE) { - STLOGE("No given type"); - param_error = true; - } + if (app_control_get_extra_data(app_control, "type", &type) != APP_CONTROL_ERROR_NONE) { + STLOGE("No given type"); + param_error = true; + } - STLOGI("[sync request] mode : %s, type : %s", mode, type); - if (param_error) - goto cleanup; + STLOGI("[sync request] mode : %s, type : %s", mode, type); + if (param_error) + goto cleanup; - if (mode && type) { - if (!is_init_sap()) { + if (mode && type) { + if (!is_init_sap()) { + initialize_sap(); + request_all_sticker_data(mode, type); + } + } + } + else if (strcmp(request, "oobe") == 0) { initialize_sap(); - request_all_sticker_data(mode, type); + request_sticker_feature(); + } + else { + STLOGW("Unknown command : %s", request); + if (!is_init_sap()) { + service_app_exit(); + } + } + } // end of request + else { + STLOGD("booting"); +#ifdef VCONFKEY_STICKER_SUPPORTED_FEATURE + // Check whether oobe has been done + int feature_flag = 0; + if (vconf_get_int(VCONFKEY_STICKER_SUPPORTED_FEATURE, &feature_flag) == 0 && feature_flag == 0) { + STLOGD("Request to get sticker feature"); + initialize_sap(); + request_sticker_feature(); + } + else { + if (!is_init_sap()) + service_app_exit(); } } +#endif } - else if (strcmp(request, "oobe") == 0) { - initialize_sap(); - request_sticker_feature(); - } - else - { - STLOGW("Unknown command : %s", request); - if (!is_init_sap()) - { - service_app_exit(); - } - } + } + else { + STLOGW("Failed to get operation. error : %d", ret); } cleanup: -- 2.7.4 From b8e8a37808e2e10f34c353e01a36d4d9e71e14ac Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Wed, 12 Aug 2020 14:14:09 +0900 Subject: [PATCH 04/16] Refactor code to process request Change-Id: Ied2db039175209241d47af7322db70fcb2b4088c Signed-off-by: Jihoon Kim --- receiver/src/main.cpp | 95 ++++++++++++++++++++++++++++----------------------- 1 file changed, 52 insertions(+), 43 deletions(-) diff --git a/receiver/src/main.cpp b/receiver/src/main.cpp index 7fa1a9f..06c2c4f 100644 --- a/receiver/src/main.cpp +++ b/receiver/src/main.cpp @@ -151,12 +151,57 @@ bool check_rw_mount() return rw_mount; } +static void process_request(app_control_h app_control, char *request) +{ + char* mode = NULL; + char* type = NULL; + + if (strcmp(request, "sync") == 0) { + bool param_error = false; + if (app_control_get_extra_data(app_control, "mode", &mode) != APP_CONTROL_ERROR_NONE) { + STLOGE("No given mode"); + param_error = true; + } + + if (app_control_get_extra_data(app_control, "type", &type) != APP_CONTROL_ERROR_NONE) { + STLOGE("No given type"); + param_error = true; + } + + STLOGI("[sync request] mode : %s, type : %s", mode, type); + if (param_error) + goto cleanup; + + if (mode && type) { + if (!is_init_sap()) { + initialize_sap(); + request_all_sticker_data(mode, type); + } + } + } + else if (strcmp(request, "oobe") == 0) { + initialize_sap(); + request_sticker_feature(); + } + else { + STLOGW("Unknown command : %s", request); + if (!is_init_sap()) { + service_app_exit(); + } + } + +cleanup: + if (NULL != mode) + free(mode); + + if (NULL != type) + free(type); +} + static void app_control(app_control_h app_control, void *data) { /* Handle the launch request. */ char* request = NULL; - char* mode = NULL; - char* type = NULL; char* operation = NULL; char* event_value = NULL; char* uri = NULL; @@ -187,6 +232,7 @@ static void app_control(app_control_h app_control, void *data) { if (string(event_value) == "connected") { + STLOGI("The charger state is connected"); if (!is_init_sap()) { if (check_sync_time_condition()) { if (check_battery_condition()) { @@ -196,6 +242,7 @@ static void app_control(app_control_h app_control, void *data) request_auto_sync(); } else { + STLOGI("The status of battery is low"); if (!get_job_progress()) { STLOGD("exit"); service_app_exit(); @@ -220,43 +267,11 @@ static void app_control(app_control_h app_control, void *data) } } else if (strcmp(operation, APP_CONTROL_OPERATION_DEFAULT) == 0) { - // sync request res = app_control_get_extra_data(app_control, "request", &request); + STLOGD("get extra data result : %d, request : %s", res, request); if (APP_CONTROL_ERROR_NONE == res && NULL != request) { - if (strcmp(request, "sync") == 0) { - bool param_error = false; - if (app_control_get_extra_data(app_control, "mode", &mode) != APP_CONTROL_ERROR_NONE) { - STLOGE("No given mode"); - param_error = true; - } - - if (app_control_get_extra_data(app_control, "type", &type) != APP_CONTROL_ERROR_NONE) { - STLOGE("No given type"); - param_error = true; - } - - STLOGI("[sync request] mode : %s, type : %s", mode, type); - if (param_error) - goto cleanup; - - if (mode && type) { - if (!is_init_sap()) { - initialize_sap(); - request_all_sticker_data(mode, type); - } - } - } - else if (strcmp(request, "oobe") == 0) { - initialize_sap(); - request_sticker_feature(); - } - else { - STLOGW("Unknown command : %s", request); - if (!is_init_sap()) { - service_app_exit(); - } - } - } // end of request + process_request(app_control, request); + } else { STLOGD("booting"); #ifdef VCONFKEY_STICKER_SUPPORTED_FEATURE @@ -285,12 +300,6 @@ cleanup: if (NULL != request) free(request); - - if (NULL != mode) - free(mode); - - if (NULL != type) - free(type); } static void app_terminate(void *data) -- 2.7.4 From 1c0c2a4b1dbbf4837c1d45ed27e99863f5fcb5d4 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Wed, 12 Aug 2020 14:28:30 +0900 Subject: [PATCH 05/16] Refactor sticker-receiver code Change-Id: I792ee0ddafc74b9de4773f6ced7aa37ec8840d5c Signed-off-by: Jihoon Kim --- receiver/src/main.cpp | 146 +++++++++++++++++++++++++++----------------------- 1 file changed, 78 insertions(+), 68 deletions(-) diff --git a/receiver/src/main.cpp b/receiver/src/main.cpp index 06c2c4f..aa196e1 100644 --- a/receiver/src/main.cpp +++ b/receiver/src/main.cpp @@ -198,6 +198,53 @@ cleanup: free(type); } +static void process_auto_sync() +{ + if (is_init_sap()) { + STLOGD("continue doing current job"); + return; + } + + if (check_sync_time_condition()) { + if (check_battery_condition()) { + STLOGD("Starting auto synchronization"); + initialize_sap(); + request_sticker_feature(); + request_auto_sync(); + } + else { + STLOGI("The status of battery is low"); + if (!get_job_progress()) { + STLOGD("exit"); + service_app_exit(); + } + } + } + else { + if (!get_job_progress()) { + STLOGD("exit"); + service_app_exit(); + } + } +} + +static void get_sticker_feature() +{ +#ifdef VCONFKEY_STICKER_SUPPORTED_FEATURE + // Check whether oobe has been done + int feature_flag = 0; + if (vconf_get_int(VCONFKEY_STICKER_SUPPORTED_FEATURE, &feature_flag) == 0 && feature_flag == 0) { + STLOGD("Request to get sticker feature"); + initialize_sap(); + request_sticker_feature(); + } + else { + if (!is_init_sap()) + service_app_exit(); + } +#endif +} + static void app_control(app_control_h app_control, void *data) { /* Handle the launch request. */ @@ -213,85 +260,48 @@ static void app_control(app_control_h app_control, void *data) // operation int ret = app_control_get_operation(app_control, &operation); - if (ret == APP_CONTROL_ERROR_NONE) { - STLOGD("operation: %s", operation); + if (ret != APP_CONTROL_ERROR_NONE) { + STLOGW("Failed to get operation. error : %d", ret); + return; + } - if (!operation) { - goto cleanup; - } + STLOGD("operation: %s", operation); - if (strcmp(operation, APP_CONTROL_OPERATION_LAUNCH_ON_EVENT) == 0) + if (!operation) { + goto cleanup; + } + + if (strcmp(operation, APP_CONTROL_OPERATION_LAUNCH_ON_EVENT) == 0) + { + ret = app_control_get_uri(app_control, &uri); + if (ret == APP_CONTROL_ERROR_NONE && uri) { - ret = app_control_get_uri(app_control, &uri); - if (ret == APP_CONTROL_ERROR_NONE && uri) + if (strncmp(uri, event_uri, strlen(event_uri) + 1) == 0) { - if (strncmp(uri, event_uri, strlen(event_uri) + 1) == 0) + ret = app_control_get_extra_data(app_control, "battery_charger_status", &event_value); + if (ret == APP_CONTROL_ERROR_NONE && event_value) { - ret = app_control_get_extra_data(app_control, "battery_charger_status", &event_value); - if (ret == APP_CONTROL_ERROR_NONE && event_value) + if (string(event_value) == "connected") { - if (string(event_value) == "connected") - { - STLOGI("The charger state is connected"); - if (!is_init_sap()) { - if (check_sync_time_condition()) { - if (check_battery_condition()) { - STLOGD("Starting auto synchronization"); - initialize_sap(); - request_sticker_feature(); - request_auto_sync(); - } - else { - STLOGI("The status of battery is low"); - if (!get_job_progress()) { - STLOGD("exit"); - service_app_exit(); - } - } - } - else { - if (!get_job_progress()) { - STLOGD("exit"); - service_app_exit(); - } - } - } - else { - STLOGD("continue doing current job"); - } - } - free(event_value); + STLOGI("The charger state is connected"); + process_auto_sync(); } + free(event_value); } - free(uri); } - } - else if (strcmp(operation, APP_CONTROL_OPERATION_DEFAULT) == 0) { - res = app_control_get_extra_data(app_control, "request", &request); - STLOGD("get extra data result : %d, request : %s", res, request); - if (APP_CONTROL_ERROR_NONE == res && NULL != request) { - process_request(app_control, request); - } - else { - STLOGD("booting"); -#ifdef VCONFKEY_STICKER_SUPPORTED_FEATURE - // Check whether oobe has been done - int feature_flag = 0; - if (vconf_get_int(VCONFKEY_STICKER_SUPPORTED_FEATURE, &feature_flag) == 0 && feature_flag == 0) { - STLOGD("Request to get sticker feature"); - initialize_sap(); - request_sticker_feature(); - } - else { - if (!is_init_sap()) - service_app_exit(); - } - } -#endif + free(uri); } } - else { - STLOGW("Failed to get operation. error : %d", ret); + else if (strcmp(operation, APP_CONTROL_OPERATION_DEFAULT) == 0) { + res = app_control_get_extra_data(app_control, "request", &request); + STLOGD("get extra data result : %d, request : %s", res, request); + if (APP_CONTROL_ERROR_NONE == res && NULL != request) { + process_request(app_control, request); + } + else { + STLOGD("booting"); + get_sticker_feature(); + } } cleanup: -- 2.7.4 From ae8e45c2dcd894eb240e40588c5361651177d674 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Thu, 27 Aug 2020 15:52:43 +0900 Subject: [PATCH 06/16] Update package version to 0.1.62 Change-Id: Id34d1c618e3101205adc1fa6f937a087845193d5 Signed-off-by: Jihoon Kim --- packaging/capi-ui-sticker.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/capi-ui-sticker.spec b/packaging/capi-ui-sticker.spec index 0e1f5c9..db80dc6 100644 --- a/packaging/capi-ui-sticker.spec +++ b/packaging/capi-ui-sticker.spec @@ -1,6 +1,6 @@ Name: capi-ui-sticker Summary: Sticker client library and daemon -Version: 0.1.61 +Version: 0.1.62 Release: 1 Group: Graphics & UI Framework/Input License: Apache-2.0 -- 2.7.4 From 52ba370781c0924c293c8ed23c557d9d1a5e016c Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Tue, 8 Sep 2020 18:01:57 +0900 Subject: [PATCH 07/16] Print error message Change-Id: I3bd9f8bc604236ee22b7aba98b927d0400388fd0 Signed-off-by: Jihoon Kim --- receiver/inc/sticker_info.h | 2 +- receiver/src/ft.cpp | 8 ++++---- receiver/src/sticker_info.cpp | 18 ++++++++++-------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/receiver/inc/sticker_info.h b/receiver/inc/sticker_info.h index bad7dc3..28420f4 100644 --- a/receiver/inc/sticker_info.h +++ b/receiver/inc/sticker_info.h @@ -21,6 +21,6 @@ void insert_sticker_data(const char *filepath, const char *keyword, const char * void create_sticker_provider_handle(void); void destroy_sticker_provider_handle(void); void delete_sticker_data(const char *fileName); -void delete_all_stickers(const char *groupName); +bool delete_all_stickers(const char *groupName); #endif /* __STICKER_INFO_H__ */ diff --git a/receiver/src/ft.cpp b/receiver/src/ft.cpp index 629d54f..a6a06e4 100644 --- a/receiver/src/ft.cpp +++ b/receiver/src/ft.cpp @@ -222,7 +222,7 @@ static void _on_transfer_completed(sap_file_transaction_h file_transaction, int ret = thumbnail_util_extract_to_file(sticker_data.file_path.c_str(), THUMBNAIL_WIDTH, THUMBNAIL_HEIGHT, sticker_data.thumbnail_path.c_str()); if (ret != THUMBNAIL_UTIL_ERROR_NONE) { - STLOGE("Failed to create thumbnail. msg : %s", get_error_message(ret)); + STLOGE("Failed to create thumbnail. msg : '%s'", get_error_message(ret)); sticker_data.thumbnail_path.clear(); } @@ -584,7 +584,7 @@ void request_show_sync_notification() void reject_file() { int ret = sap_file_transfer_reject(priv_data.file_socket); - STLOGI("ret : %d", ret); + STLOGI("Failed to call sap_file_transfer_reject(). error code : 0x%X, message : %s", ret, get_error_message(ret)); file_on_progress = FALSE; } @@ -687,7 +687,7 @@ static void send_sync_start_response(int result_code) break; } - STLOGD("result code : %d, sync complete flag : %d", result_code, sync_complete_flags); + STLOGD("result code : 0x%X, sync complete flag : %d", result_code, sync_complete_flags); #ifdef VCONFKEY_STICKER_SUPPORTED_FEATURE if (vconf_get_int(VCONFKEY_STICKER_SUPPORTED_FEATURE, &feature_flag) != 0) @@ -1023,7 +1023,7 @@ static void on_conn_req(sap_peer_agent_h peer_agent, STLOGW("Connection failure unknown"); break; default: - STLOGW("Connection failure. error code : %d", result); + STLOGW("Connection failure. error code : 0x%X", result); break; } } diff --git a/receiver/src/sticker_info.cpp b/receiver/src/sticker_info.cpp index fa7c2ff..4ef95b4 100644 --- a/receiver/src/sticker_info.cpp +++ b/receiver/src/sticker_info.cpp @@ -104,7 +104,7 @@ insert_sticker_data(const char *filepath, const char *keyword, const char *group ret = sticker_provider_insert_data(sticker_provider, data_handle); if (ret != STICKER_ERROR_NONE) { - STLOGE("Failed to insert data. error code : %x. message : %s", ret, get_error_message(ret)); + STLOGE("Failed to insert data. error code : %x. message : '%s'", ret, get_error_message(ret)); } else { STLOGI("Succeeded to insert data"); @@ -124,7 +124,7 @@ void create_sticker_provider_handle(void) ret = sticker_provider_create(&sticker_provider); if (ret != STICKER_ERROR_NONE) { /* Error handling */ - STLOGE("Failed to create sticker provider. ret : %d", ret); + STLOGE("Failed to create sticker provider. error code : 0x%X, message : '%s'", ret, get_error_message(ret)); } } @@ -139,7 +139,7 @@ void delete_sticker_data(const char *fileName) int ret; ret = sticker_provider_delete_data_by_uri(sticker_provider, fileName); if (ret != STICKER_ERROR_NONE) - STLOGE("Failed to delete sticker. ret : %d", ret); + STLOGE("Failed to delete sticker. error code : 0x%X, message : '%s'", ret, get_error_message(ret)); } static void _delete_all_stickers_cb(sticker_data_h data_handle, void *user_data) @@ -150,16 +150,16 @@ static void _delete_all_stickers_cb(sticker_data_h data_handle, void *user_data) ret = sticker_data_get_group_name(data_handle, &sticker_group); if (ret != STICKER_ERROR_NONE) - STLOGE("Failed to get group name. ret : %d", ret); + STLOGE("Failed to get group name. error code : 0x%X, message : '%s'", ret, get_error_message(ret)); if (strcmp(sticker_group, del_group) == 0) { ret = sticker_provider_delete_data(sticker_provider, data_handle); if (ret != STICKER_ERROR_NONE) - STLOGE("Failed to delete sticker. ret : %d", ret); + STLOGE("Failed to delete sticker. error code : 0x%X, message : '%s'", ret, get_error_message(ret)); } } -void delete_all_stickers(const char *groupName) +bool delete_all_stickers(const char *groupName) { int ret; int total_cnt; @@ -167,9 +167,11 @@ void delete_all_stickers(const char *groupName) ret = sticker_provider_get_sticker_count(sticker_provider, &total_cnt); if (ret != STICKER_ERROR_NONE) - STLOGE("Failed to get sticker count. ret : %d", ret); + STLOGE("Failed to get sticker count. error code : 0x%X, message : '%s'", ret, get_error_message(ret)); ret = sticker_provider_data_foreach_all(sticker_provider, 0, total_cnt, &result, _delete_all_stickers_cb, (void *)groupName); if (ret != STICKER_ERROR_NONE) - STLOGE("Failed to retrieve all sticker data. ret : %d", ret); + STLOGE("Failed to retrieve all sticker data. error code : 0x%X, message : '%s'", ret, get_error_message(ret)); + + return (ret == STICKER_ERROR_NONE); } -- 2.7.4 From 3eab9e95c212ccf8887363781d8d0deda1eafce3 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Fri, 14 Aug 2020 20:56:26 +0900 Subject: [PATCH 08/16] Fix to request sticker feature only once Change-Id: I022d9a6e85c0ce9ae80052cccce65697bdf4fc02 Signed-off-by: Jihoon Kim --- receiver/inc/ft.h | 2 ++ receiver/inc/receiver_preference.h | 1 + receiver/src/ft.cpp | 22 ++++++++++++++++++++++ receiver/src/main.cpp | 16 +++++++++++++++- 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/receiver/inc/ft.h b/receiver/inc/ft.h index afab92e..55a4ffa 100644 --- a/receiver/inc/ft.h +++ b/receiver/inc/ft.h @@ -40,4 +40,6 @@ void request_show_sync_notification(); bool get_job_progress(); +bool get_receive_sticker_feature(); + #endif /* __FT_H__ */ diff --git a/receiver/inc/receiver_preference.h b/receiver/inc/receiver_preference.h index 02fc7e3..aae2c88 100644 --- a/receiver/inc/receiver_preference.h +++ b/receiver/inc/receiver_preference.h @@ -19,5 +19,6 @@ #define LAST_SYNC_TIME "LastSyncTime" #define LAST_LOG_FILE_INDEX "LastLogFileIndex" +#define RECEIVED_STICKER_FEATURE "ReceivedStickerFeature" #endif /* __RECEIVER_PREFERENCE_H__ */ diff --git a/receiver/src/ft.cpp b/receiver/src/ft.cpp index a6a06e4..d0e0b7f 100644 --- a/receiver/src/ft.cpp +++ b/receiver/src/ft.cpp @@ -105,6 +105,27 @@ static void save_last_sync_time() } } +static void save_receive_sticker_feature(bool received) +{ + // received sticker feature or not + if (preference_set_boolean(RECEIVED_STICKER_FEATURE, received) == PREFERENCE_ERROR_NONE) { + STLOGI("Succeed to set the flag of receive sticker feature : %d", received); + } + else { + STLOGW("Failed to set the flag of receive sticker feature"); + } +} + +bool get_receive_sticker_feature() +{ + bool result = false; + if (preference_get_boolean(RECEIVED_STICKER_FEATURE, &result) != PREFERENCE_ERROR_NONE) { + STLOGW("Failed to get receive sticker feature"); + } + + return result; +} + static void set_sync_first_complete() { int complete_flags = 0; @@ -757,6 +778,7 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in request_all_sticker_data("manual", "input"); } else if (msg_id == STICKER_SYNC_FEATURE_RSP) { STLOGD("msg : %s", msg_id.c_str()); + save_receive_sticker_feature(true); #ifdef VCONFKEY_STICKER_SUPPORTED_FEATURE const char *json_aremoji = json_object_get_string_member(root_obj, "arEmoji"); const char *json_bitmoji = json_object_get_string_member(root_obj, "bitmoji"); diff --git a/receiver/src/main.cpp b/receiver/src/main.cpp index aa196e1..aeefd28 100644 --- a/receiver/src/main.cpp +++ b/receiver/src/main.cpp @@ -209,7 +209,13 @@ static void process_auto_sync() if (check_battery_condition()) { STLOGD("Starting auto synchronization"); initialize_sap(); - request_sticker_feature(); + if (get_receive_sticker_feature()) { + STLOGI("Already sticker feature is received"); + } + else { + request_sticker_feature(); + } + request_auto_sync(); } else { @@ -230,6 +236,14 @@ static void process_auto_sync() static void get_sticker_feature() { + if (get_receive_sticker_feature()) { + STLOGI("Already sticker feature is received"); + if (!is_init_sap()) + service_app_exit(); + + return; + } + #ifdef VCONFKEY_STICKER_SUPPORTED_FEATURE // Check whether oobe has been done int feature_flag = 0; -- 2.7.4 From 3cc8a7cddca9cbeb85ae83f31073b7392cb401e1 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Thu, 10 Sep 2020 17:56:10 +0900 Subject: [PATCH 09/16] Update package version to 0.1.63 Change-Id: I8d5a78e18c77a98134bde228ae5916222a0164a9 Signed-off-by: Jihoon Kim --- packaging/capi-ui-sticker.spec | 2 +- receiver/tizen-manifest.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/capi-ui-sticker.spec b/packaging/capi-ui-sticker.spec index db80dc6..e5f5d4a 100644 --- a/packaging/capi-ui-sticker.spec +++ b/packaging/capi-ui-sticker.spec @@ -1,6 +1,6 @@ Name: capi-ui-sticker Summary: Sticker client library and daemon -Version: 0.1.62 +Version: 0.1.63 Release: 1 Group: Graphics & UI Framework/Input License: Apache-2.0 diff --git a/receiver/tizen-manifest.xml b/receiver/tizen-manifest.xml index d4cdf2e..b8c75ad 100644 --- a/receiver/tizen-manifest.xml +++ b/receiver/tizen-manifest.xml @@ -1,5 +1,5 @@ - + -- 2.7.4 From 10a1f2965ad89781c710508d3f708334c5434d43 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Thu, 24 Sep 2020 18:01:46 +0900 Subject: [PATCH 10/16] Rename function names Change-Id: I1cfc3c0c90d339e31e9a22e783b1f15249aae09e Signed-off-by: Jihoon Kim --- receiver/src/ft.cpp | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/receiver/src/ft.cpp b/receiver/src/ft.cpp index d0e0b7f..f797447 100644 --- a/receiver/src/ft.cpp +++ b/receiver/src/ft.cpp @@ -93,6 +93,8 @@ static int sync_success_cnt = 0; static gboolean job_progress = FALSE; static int sync_complete_flags = 0; +static void sticker_service_quit(); + static void save_last_sync_time() { // save last sync time in preference @@ -629,10 +631,10 @@ static void _on_transfer_file_cb(sap_peer_agent_h peer_agent_h, accept_file(); } -void conn_terminated(sap_peer_agent_h peer_agent, - sap_socket_h socket, - sap_service_connection_terminated_reason_e result, - void *user_data) +static void _on_connection_terminated(sap_peer_agent_h peer_agent, + sap_socket_h socket, + sap_service_connection_terminated_reason_e result, + void *user_data) { sap_info_s *priv = NULL; priv = (sap_info_s *)user_data; @@ -658,13 +660,14 @@ void conn_terminated(sap_peer_agent_h peer_agent, set_sync_progressing(FALSE); send_message("sync_stop_result", "cancel"); - service_app_exit(); + sticker_service_quit(); } -static void quit() +static void sticker_service_quit() { job_progress = FALSE; send_disconnect_message(); + STLOGI("Terminate sticker service"); service_app_exit(); } @@ -801,7 +804,7 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in #endif if (!process_request_queue()) { - quit(); + sticker_service_quit(); } } else if (msg_id == STICKER_SYNC_START_RSP) { STLOGD("msg : %s", msg_id.c_str()); @@ -858,7 +861,7 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in set_sync_progressing(FALSE); save_last_sync_time(); - quit(); + sticker_service_quit(); } } } else if (msg_id == STICKER_SEND_START_REQ) { @@ -995,7 +998,7 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in if (!process_request_queue()) { sync_success_cnt = 0; - quit(); + sticker_service_quit(); } } else STLOGW("unknown msg id : %s", msg_id.c_str()); @@ -1019,7 +1022,7 @@ static void on_conn_req(sap_peer_agent_h peer_agent, STLOGI("Connection success"); priv_data.socket = socket; sap_peer_agent_accept_service_connection(peer_agent); - sap_peer_agent_set_service_connection_terminated_cb(peer_agent, conn_terminated, &priv_data); + sap_peer_agent_set_service_connection_terminated_cb(peer_agent, _on_connection_terminated, &priv_data); sap_socket_set_data_received_cb(socket, on_data_received, peer_agent); break; case SAP_CONNECTION_ALREADY_EXIST: @@ -1062,7 +1065,7 @@ _on_service_connection_created(sap_peer_agent_h peer_agent, { case SAP_CONNECTION_SUCCESS: sap_peer_agent_set_service_connection_terminated_cb(priv->peer_agent, - conn_terminated, + _on_connection_terminated, priv); sap_socket_set_data_received_cb(socket, on_data_received, peer_agent); -- 2.7.4 From de3b67b664320f1955350612e3fb5ede43ce5eee Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Sat, 10 Oct 2020 13:00:45 +0900 Subject: [PATCH 11/16] Destroy receiver when launching in case that BT is not connected Change-Id: I5413d0a17683d7b189b331d0a65c269e87366515 Signed-off-by: Jihoon Kim --- receiver/src/ft.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/receiver/src/ft.cpp b/receiver/src/ft.cpp index f797447..4467722 100644 --- a/receiver/src/ft.cpp +++ b/receiver/src/ft.cpp @@ -655,7 +655,9 @@ static void _on_connection_terminated(sap_peer_agent_h peer_agent, break; } - sap_socket_destroy(priv->socket); + if (priv->socket) + sap_socket_destroy(priv->socket); + priv->socket = NULL; set_sync_progressing(FALSE); @@ -1222,6 +1224,7 @@ static void _on_device_status_changed(sap_device_status_e status, sap_transport_type_e transport_type, void *user_data) { + bool unknown_transport_type = false; STLOGD("%s, status :%d", __func__, status); switch (transport_type) { @@ -1242,12 +1245,13 @@ static void _on_device_status_changed(sap_device_status_e status, break; default: STLOGE("unknown transport_type (%d)", transport_type); + unknown_transport_type = true; break; } switch (status) { case SAP_DEVICE_STATUS_DETACHED: - STLOGD("device is not connected."); + STLOGD("device is detached."); send_message("sync_stop_result", "cancel"); break; case SAP_DEVICE_STATUS_ATTACHED: @@ -1258,6 +1262,9 @@ static void _on_device_status_changed(sap_device_status_e status, STLOGE("unknown status (%d)", status); break; } + + if (unknown_transport_type && status == SAP_DEVICE_STATUS_DETACHED) + sticker_service_quit(); } gboolean agent_initialize() -- 2.7.4 From 20bb66aa2c1c8df0a32d52861288a54039688374 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Sat, 10 Oct 2020 13:40:49 +0900 Subject: [PATCH 12/16] Support to request sticker sync when BT connects after disconnecting Change-Id: I9d0b876024eab482fbe3ac38c73f4dbcfcab07dd Signed-off-by: Jihoon Kim --- receiver/src/ft.cpp | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/receiver/src/ft.cpp b/receiver/src/ft.cpp index 4467722..9a684cb 100644 --- a/receiver/src/ft.cpp +++ b/receiver/src/ft.cpp @@ -449,16 +449,13 @@ static bool process_request_queue() case REQUEST_TYPE_FEATURE_REQ: STLOGD("[Request feature exchange]"); request_sticker_feature(); - ReqQueue.pop(); break; case REQUEST_TYPE_SYNC: - STLOGD("[Request to sync sticker] mode: %s, category: %s, type : %s", request.mode.c_str(), + STLOGD("[Request to sync sticker] mode: %s, category: %s, type: %s", request.mode.c_str(), request.category.c_str(), request.type.c_str()); - if (request_sticker_data(request.mode.c_str(), request.category.c_str(), request.type.c_str())) - ReqQueue.pop(); - + request_sticker_data(request.mode.c_str(), request.category.c_str(), request.type.c_str()); break; case REQUEST_TYPE_SHOW_NOTIFICATION: STLOGD("[Request to show notification]"); @@ -662,7 +659,6 @@ static void _on_connection_terminated(sap_peer_agent_h peer_agent, set_sync_progressing(FALSE); send_message("sync_stop_result", "cancel"); - sticker_service_quit(); } static void sticker_service_quit() @@ -745,6 +741,19 @@ static void send_sync_start_response(int result_code) #endif } +static void pop_sticker_request(request_type req_type) +{ + if (ReqQueue.empty()) + return; + + StickerRequest request = ReqQueue.front(); + STLOGD ("request type : %d", request.req_type); + if (request.req_type == req_type) { + STLOGD ("pop sync request"); + ReqQueue.pop(); + } +} + void on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned int payload_length, void *buffer, void *user_data) /* message exchange on_receive callback (sap_agent_data_received_cb) */ @@ -805,6 +814,8 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in STLOGW("No vconf supported feature"); #endif + pop_sticker_request(REQUEST_TYPE_FEATURE_REQ); + if (!process_request_queue()) { sticker_service_quit(); } @@ -865,6 +876,8 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in sticker_service_quit(); } + + pop_sticker_request(REQUEST_TYPE_SYNC); } } else if (msg_id == STICKER_SEND_START_REQ) { STLOGD("msg : %s", msg_id.c_str()); -- 2.7.4 From bed9e5b6117d870d182b5c1367951f9aed396720 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Sat, 10 Oct 2020 14:07:05 +0900 Subject: [PATCH 13/16] Revert "Fix to request sticker feature only once" Sticker sync feature can be changed after synchronization. This reverts commit 3eab9e95c212ccf8887363781d8d0deda1eafce3. Change-Id: I3bb0e0bcd1216ea2e0b15b06a8a69e06e10e9aa4 --- receiver/inc/ft.h | 2 -- receiver/inc/receiver_preference.h | 1 - receiver/src/ft.cpp | 22 ---------------------- receiver/src/main.cpp | 16 +--------------- 4 files changed, 1 insertion(+), 40 deletions(-) diff --git a/receiver/inc/ft.h b/receiver/inc/ft.h index 55a4ffa..afab92e 100644 --- a/receiver/inc/ft.h +++ b/receiver/inc/ft.h @@ -40,6 +40,4 @@ void request_show_sync_notification(); bool get_job_progress(); -bool get_receive_sticker_feature(); - #endif /* __FT_H__ */ diff --git a/receiver/inc/receiver_preference.h b/receiver/inc/receiver_preference.h index aae2c88..02fc7e3 100644 --- a/receiver/inc/receiver_preference.h +++ b/receiver/inc/receiver_preference.h @@ -19,6 +19,5 @@ #define LAST_SYNC_TIME "LastSyncTime" #define LAST_LOG_FILE_INDEX "LastLogFileIndex" -#define RECEIVED_STICKER_FEATURE "ReceivedStickerFeature" #endif /* __RECEIVER_PREFERENCE_H__ */ diff --git a/receiver/src/ft.cpp b/receiver/src/ft.cpp index 9a684cb..26883b3 100644 --- a/receiver/src/ft.cpp +++ b/receiver/src/ft.cpp @@ -107,27 +107,6 @@ static void save_last_sync_time() } } -static void save_receive_sticker_feature(bool received) -{ - // received sticker feature or not - if (preference_set_boolean(RECEIVED_STICKER_FEATURE, received) == PREFERENCE_ERROR_NONE) { - STLOGI("Succeed to set the flag of receive sticker feature : %d", received); - } - else { - STLOGW("Failed to set the flag of receive sticker feature"); - } -} - -bool get_receive_sticker_feature() -{ - bool result = false; - if (preference_get_boolean(RECEIVED_STICKER_FEATURE, &result) != PREFERENCE_ERROR_NONE) { - STLOGW("Failed to get receive sticker feature"); - } - - return result; -} - static void set_sync_first_complete() { int complete_flags = 0; @@ -792,7 +771,6 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in request_all_sticker_data("manual", "input"); } else if (msg_id == STICKER_SYNC_FEATURE_RSP) { STLOGD("msg : %s", msg_id.c_str()); - save_receive_sticker_feature(true); #ifdef VCONFKEY_STICKER_SUPPORTED_FEATURE const char *json_aremoji = json_object_get_string_member(root_obj, "arEmoji"); const char *json_bitmoji = json_object_get_string_member(root_obj, "bitmoji"); diff --git a/receiver/src/main.cpp b/receiver/src/main.cpp index aeefd28..aa196e1 100644 --- a/receiver/src/main.cpp +++ b/receiver/src/main.cpp @@ -209,13 +209,7 @@ static void process_auto_sync() if (check_battery_condition()) { STLOGD("Starting auto synchronization"); initialize_sap(); - if (get_receive_sticker_feature()) { - STLOGI("Already sticker feature is received"); - } - else { - request_sticker_feature(); - } - + request_sticker_feature(); request_auto_sync(); } else { @@ -236,14 +230,6 @@ static void process_auto_sync() static void get_sticker_feature() { - if (get_receive_sticker_feature()) { - STLOGI("Already sticker feature is received"); - if (!is_init_sap()) - service_app_exit(); - - return; - } - #ifdef VCONFKEY_STICKER_SUPPORTED_FEATURE // Check whether oobe has been done int feature_flag = 0; -- 2.7.4 From 45906621bc3d16b6ba02ff159775b573a9e6c9dc Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Sat, 10 Oct 2020 14:45:50 +0900 Subject: [PATCH 14/16] Update package version to 0.1.64 Change-Id: Iae5d517d45a996cf1934abed18e39a53a4423c84 Signed-off-by: Jihoon Kim --- packaging/capi-ui-sticker.spec | 2 +- receiver/tizen-manifest.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packaging/capi-ui-sticker.spec b/packaging/capi-ui-sticker.spec index e5f5d4a..8b4618e 100644 --- a/packaging/capi-ui-sticker.spec +++ b/packaging/capi-ui-sticker.spec @@ -1,6 +1,6 @@ Name: capi-ui-sticker Summary: Sticker client library and daemon -Version: 0.1.63 +Version: 0.1.64 Release: 1 Group: Graphics & UI Framework/Input License: Apache-2.0 diff --git a/receiver/tizen-manifest.xml b/receiver/tizen-manifest.xml index b8c75ad..e1ecb31 100644 --- a/receiver/tizen-manifest.xml +++ b/receiver/tizen-manifest.xml @@ -1,5 +1,5 @@ - + -- 2.7.4 From 43029bd2900c771165f6f6e94d0a7791fedd96ba Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Thu, 24 Sep 2020 17:21:47 +0900 Subject: [PATCH 15/16] Rename from whitelist to allowlist Change-Id: Ia7b03469aeddf9972a0a5087ba73f6ee8ce2d8e7 Signed-off-by: Jihoon Kim --- sticker-parser/sticker-parser.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/sticker-parser/sticker-parser.c b/sticker-parser/sticker-parser.c index a54e9ab..1dc1a48 100644 --- a/sticker-parser/sticker-parser.c +++ b/sticker-parser/sticker-parser.c @@ -506,7 +506,7 @@ static void __insert_sticker_keyword_info(const char *keyword) return; } -static void __insert_sticker_whitelist_info(const char *provider, const char *consumer) { +static void __insert_sticker_allowlist_info(const char *provider, const char *consumer) { int ret; sqlite3 *db = NULL; sqlite3_stmt *stmt = NULL; @@ -532,7 +532,7 @@ static void __insert_sticker_whitelist_info(const char *provider, const char *co sqlite3_finalize(stmt); sqlite3_close(db); } else { - LOGE("fail to insert sticker whiltelist : %s", sqlite3_errmsg(db)); + LOGE("fail to insert sticker allowlist : %s", sqlite3_errmsg(db)); sqlite3_finalize(stmt); sqlite3_close(db); } @@ -574,10 +574,10 @@ static int __get_sticker_info_from_json(const char *appid, const char *file_path goto cleanup; } - JsonArray *whitelist_arr = json_object_get_array_member(root_obj, "whitelist"); - if (whitelist_arr != NULL) { - for (int i = 0; i < json_array_get_length(whitelist_arr); i++) { - __insert_sticker_whitelist_info(appid, json_array_get_string_element(whitelist_arr, i)); + JsonArray *allowlist_arr = json_object_get_array_member(root_obj, "whitelist"); + if (allowlist_arr != NULL) { + for (int i = 0; i < json_array_get_length(allowlist_arr); i++) { + __insert_sticker_allowlist_info(appid, json_array_get_string_element(allowlist_arr, i)); } } @@ -706,7 +706,7 @@ cleanup: return ret; } -static void __delete_sticker_whitelist(const char *db_path, const char *app_id) +static void __delete_sticker_allowlist(const char *db_path, const char *app_id) { int ret; sqlite3 *db = NULL; @@ -718,7 +718,7 @@ static void __delete_sticker_whitelist(const char *db_path, const char *app_id) ret = sqlite3_prepare_v2(db, "DELETE FROM sticker_whitelist_info WHERE provider_id = ?", -1, &stmt, NULL); if (ret != SQLITE_OK) { - LOGE("failed to delete sticker whitelist : %s", sqlite3_errmsg(db)); + LOGE("failed to delete sticker allowlist : %s", sqlite3_errmsg(db)); sqlite3_finalize(stmt); sqlite3_close(db); goto cleanup; @@ -931,7 +931,7 @@ int PKGMGR_MDPARSER_PLUGIN_UNINSTALL(const char *pkgid, const char *appid, GList sqlite3_close(db); } - __delete_sticker_whitelist(db_path, appid); + __delete_sticker_allowlist(db_path, appid); return 0; } -- 2.7.4 From 087aac2ab6d6d9e3a76a7818ebea9f075bd21766 Mon Sep 17 00:00:00 2001 From: InHong Han Date: Thu, 29 Oct 2020 10:28:04 +0900 Subject: [PATCH 16/16] Fixed issue regarding not able to check for the existence of the sticker Change-Id: Id684199f552d04e6d3c865eeafe5f49089d533fd --- client/sticker_defs.h | 1 + provider/sticker_provider.c | 29 +++++++++++++++++++++++------ server/stickerd_data_manager.c | 1 - 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/client/sticker_defs.h b/client/sticker_defs.h index 69167ec..f00e7da 100644 --- a/client/sticker_defs.h +++ b/client/sticker_defs.h @@ -49,6 +49,7 @@ extern "C" { } \ } \ } while (0) +#define STICKER_DIRECTORY "/opt/usr/share/sticker-data" typedef enum { STICKER_CLIENT_LIB_NONE, diff --git a/provider/sticker_provider.c b/provider/sticker_provider.c index 82e32c8..8b5ef32 100644 --- a/provider/sticker_provider.c +++ b/provider/sticker_provider.c @@ -136,26 +136,43 @@ EXPORT_API int sticker_provider_insert_data(sticker_provider_h provider_handle, if (!provider_handle || !data_handle || (data_handle->sticker_info_id > 0) || !data_handle->uri) return STICKER_ERROR_INVALID_PARAMETER; - ret = sticker_dbus_check_file_exists(provider_handle->gdbus_connection, data_handle->uri, &is_exist); + int len = strlen(STICKER_DIRECTORY) + strlen(data_handle->app_id) + strlen(data_handle->uri) + 3; + char *new_path = (char *)calloc(len, sizeof(char)); + + if (data_handle->uri[0] == '/') + snprintf(new_path, len, "%s/%s%s",STICKER_DIRECTORY, data_handle->app_id, data_handle->uri); + else + snprintf(new_path, len, "%s/%s/%s",STICKER_DIRECTORY, data_handle->app_id, data_handle->uri); + + ret = sticker_dbus_check_file_exists(provider_handle->gdbus_connection, new_path, &is_exist); if (ret != STICKER_ERROR_NONE) { LOGE("Failed to check file exists : %d", ret); - return STICKER_ERROR_OPERATION_FAILED; + ret = STICKER_ERROR_OPERATION_FAILED; + goto cleanup; } if (is_exist) { LOGE("Sticker already exists"); - return STICKER_ERROR_FILE_EXISTS; + ret = STICKER_ERROR_FILE_EXISTS; + goto cleanup; } ret = sticker_dbus_insert_sticker_info(provider_handle->gdbus_connection, data_handle); if (ret != STICKER_ERROR_NONE) { LOGE("Failed to insert sticker information : %d", ret); if (ret == STICKER_CLIENT_ERROR_NO_SUCH_FILE) - return STICKER_ERROR_NO_SUCH_FILE; + ret = STICKER_ERROR_NO_SUCH_FILE; else - return STICKER_ERROR_OPERATION_FAILED; + ret = STICKER_ERROR_OPERATION_FAILED; } - return STICKER_ERROR_NONE; + +cleanup: + if (new_path) { + free(new_path); + new_path = NULL; + } + + return ret; } EXPORT_API int sticker_provider_insert_data_by_json_file(sticker_provider_h provider_handle, const char *json_path, sticker_provider_insert_finished_cb callback, void *user_data) diff --git a/server/stickerd_data_manager.c b/server/stickerd_data_manager.c index 1be9971..c9b8f8b 100644 --- a/server/stickerd_data_manager.c +++ b/server/stickerd_data_manager.c @@ -39,7 +39,6 @@ #endif #define LOG_TAG "STICKERD_DATA_MANAGER" -#define STICKER_DIRECTORY "/opt/usr/share/sticker-data" #define MAX_ERROR_BUFFER 256 static GHashTable *_monitoring_hash = NULL; -- 2.7.4