static int total_file_count_in_group = 0;
static int sync_success_cnt = 0;
static gboolean job_progress = FALSE;
+static int sync_complete_flags = 0;
static void save_last_sync_time()
{
}
}
-static void set_sync_complete()
+static void set_sync_first_complete()
{
int complete_flags = 0;
if (vconf_get_int(VCONFKEY_STICKER_SYNC_COMPLETE, &complete_flags) == 0 && complete_flags == 0) {
else
LOGW("Fail to set sync complete");
}
+}
+static void set_sync_complete()
+{
+ set_sync_first_complete();
save_last_sync_time();
}
service_app_exit();
}
+static void send_sync_start_response(int result_code)
+{
+ int feature_flag = 0;
+ string response_to_app;
+ switch (result_code) {
+ case SYNC_START_RSP_SUCCESS:
+ {
+ response_to_app = "success";
+ if (current_request.category == string("arsticker"))
+ sync_complete_flags |= VCONFKEY_STICKER_FEATURE_AREMOJI;
+ else if (current_request.category == string("bitmoji"))
+ sync_complete_flags |= VCONFKEY_STICKER_FEATURE_BITMOJI;
+ }
+ break;
+ case SYNC_START_RSP_NO_STICKER:
+ response_to_app = "no_sticker";
+ break;
+ default:
+ response_to_app = "unknown_error";
+ break;
+ }
+
+ LOGD("result code : %d, 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)
+ {
+ LOGW("Failed to read support feature");
+ return;
+ }
+
+ LOGD("feature : %d, current request category : %s", feature_flag, current_request.category.c_str());
+ if (feature_flag == VCONFKEY_STICKER_FEATURE_AREMOJI ||
+ feature_flag == VCONFKEY_STICKER_FEATURE_BITMOJI)
+ {
+ LOGD("only standalone sync mode");
+ send_message("sync_start_response", response_to_app.c_str());
+ }
+ else {
+ if (current_request.category == string("arsticker"))
+ {
+ if (result_code == SYNC_START_RSP_SUCCESS)
+ send_message("sync_start_response", response_to_app.c_str());
+ }
+ else if (current_request.category == string("bitmoji"))
+ {
+ if (sync_complete_flags == 0 ||
+ sync_complete_flags == VCONFKEY_STICKER_FEATURE_BITMOJI)
+ send_message("sync_start_response", response_to_app.c_str());
+ }
+ }
+#endif
+}
+
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) */
int result_code = json_object_get_int_member(root_obj, "resultCode");
LOGD("result : %s, resultCode : %d", result.c_str(), result_code);
- string response_to_app;
- switch (result_code) {
- case SYNC_START_RSP_SUCCESS:
- response_to_app = "success";
- break;
- case SYNC_START_RSP_NO_STICKER:
- response_to_app = "no_sticker";
- break;
- default:
- response_to_app = "unknown_error";
- break;
- }
-
- send_message("sync_start_response", response_to_app.c_str());
+ send_sync_start_response(result_code);
if (result_code != SYNC_START_RSP_SUCCESS) {
- set_sync_progressing(FALSE);
if (!process_request_queue()) {
+ set_sync_progressing(FALSE);
if (result_code == SYNC_START_RSP_NO_STICKER)
save_last_sync_time();