Support to set sync status in vconf 44/229444/3
authorJihoon Kim <jihoon48.kim@samsung.com>
Wed, 1 Apr 2020 05:44:32 +0000 (14:44 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 1 Apr 2020 06:11:53 +0000 (15:11 +0900)
Change-Id: Icf738f01b50128e6d8085b2d56e83e79eacc9ad7
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
receiver/src/ft.cpp

index 4431be7..f9400ed 100644 (file)
@@ -83,6 +83,30 @@ static int rec_file_cnt_in_group = 0;
 static int total_file_count_in_group = 0;
 static int sync_success_cnt = 0;
 
+static void set_first_sync_complete()
+{
+    int complete_flags = 0;
+    if (vconf_get_int(VCONFKEY_STICKER_SYNC_COMPLETE, &complete_flags) == 0 && complete_flags == 0) {
+        if (vconf_set_int(VCONFKEY_STICKER_SYNC_COMPLETE, VCONFKEY_STICKER_SYNC_COMPLETE_DONE) == 0)
+            LOGD("Succeed to set sync complete");
+        else
+            LOGW("Fail to set sync complete");
+    }
+}
+
+static void set_sync_progressing(gboolean flag)
+{
+#ifdef VCONFKEY_STICKER_SYNC_STATE
+    LOGD("sync progressing : %d", flag);
+    if (vconf_set_int(VCONFKEY_STICKER_SYNC_STATE, flag ? VCONFKEY_STICKER_SYNC_STATE_IN_PROGRESS :  VCONFKEY_STICKER_SYNC_STATE_WAITING) == 0)
+        LOGD("Succeed to set sync state");
+    else
+        LOGW("Fail to set sync state");
+#else
+    LOGW("No vconf sync state definition");
+#endif
+}
+
 static gboolean _send_json_data(JsonObject *obj)
 {
     JsonGenerator *j_generator = NULL;
@@ -324,6 +348,7 @@ bool request_sticker_data(const char *mode, const char *category, const char *ty
         current_request.mode = string(mode ? mode : "manual");
         current_request.category = string(category ? category : "arsticker");
         current_request.type = string(type ? type : "input");
+        set_sync_progressing(TRUE);
         result = true;
     }
 
@@ -515,6 +540,8 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in
             LOGD("Succeed to set supported feature");
         else
             LOGW("Fail to set supported feature");
+#else
+        LOGW("No vconf supported feature");
 #endif
 
         if (!process_request_queue()) {
@@ -543,6 +570,7 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in
         send_message("sync_start_response", response_to_app.c_str());
 
         if (result_code != SYNC_START_RSP_SUCCESS) {
+            set_sync_progressing(FALSE);
             if (!process_request_queue()) {
                 service_app_exit();
             }
@@ -618,34 +646,35 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in
             json_object_set_string_member(j_object, "result", "failure");
         }
         else {
-            int complete_flags = 0;
-
             int feature_flag = 0;
-            if (vconf_get_int(VCONFKEY_STICKER_SYNC_COMPLETE, &complete_flags) == 0 && complete_flags == 0) {
+
 #ifdef VCONFKEY_STICKER_SUPPORTED_FEATURE
-                if (vconf_get_int(VCONFKEY_STICKER_SUPPORTED_FEATURE, &feature_flag) == 0) {
-                    if (feature_flag == VCONFKEY_STICKER_FEATURE_AREMOJI) {
-                        if (current_request.category == string("arsticker")) {
-                            complete_flags = VCONFKEY_STICKER_SYNC_COMPLETE_DONE;
-                        }
+            if (vconf_get_int(VCONFKEY_STICKER_SUPPORTED_FEATURE, &feature_flag) == 0)
+            {
+                LOGD("feature : %d, current request category : %s", feature_flag, current_request.category.c_str());
+                if (feature_flag == VCONFKEY_STICKER_FEATURE_AREMOJI)
+                {
+                    if (current_request.category == string("arsticker"))
+                    {
+                        set_first_sync_complete();
+                        set_sync_progressing(FALSE);
                     }
-                    else if (feature_flag & VCONFKEY_STICKER_FEATURE_BITMOJI) {
-                        if (current_request.category == string("bitmoji")) {
-                            complete_flags = VCONFKEY_STICKER_SYNC_COMPLETE_DONE;
-                        }
+                }
+                else if (feature_flag & VCONFKEY_STICKER_FEATURE_BITMOJI)
+                {
+                    if (current_request.category == string("bitmoji"))
+                    {
+                        set_first_sync_complete();
+                        set_sync_progressing(FALSE);
                     }
-
-                    LOGD("sync complete flag : %x", complete_flags);
-
-                    if (vconf_set_int(VCONFKEY_STICKER_SYNC_COMPLETE, complete_flags) == 0)
-                        LOGD("Succeed to set sync complete");
-                    else
-                        LOGW("Fail to set sync complete");
                 }
+            }
+            else {
+                LOGW("Failed to read support feature");
+            }
 #else
-                LOGW("No vconf supported feature");
+            LOGW("No vconf supported feature");
 #endif /* VCONFKEY_STICKER_SUPPORTED_FEATURE */
-            }
 
             json_object_set_string_member(j_object, "result", "success");
             sync_success_cnt++;