Fix to request sticker feature only once 00/241100/4
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 14 Aug 2020 11:56:26 +0000 (20:56 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Thu, 10 Sep 2020 09:12:30 +0000 (18:12 +0900)
Change-Id: I022d9a6e85c0ce9ae80052cccce65697bdf4fc02
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
receiver/inc/ft.h
receiver/inc/receiver_preference.h
receiver/src/ft.cpp
receiver/src/main.cpp

index afab92e..55a4ffa 100644 (file)
@@ -40,4 +40,6 @@ void request_show_sync_notification();
 
 bool get_job_progress();
 
+bool get_receive_sticker_feature();
+
 #endif /* __FT_H__ */
index 02fc7e3..aae2c88 100644 (file)
@@ -19,5 +19,6 @@
 
 #define LAST_SYNC_TIME "LastSyncTime"
 #define LAST_LOG_FILE_INDEX "LastLogFileIndex"
+#define RECEIVED_STICKER_FEATURE "ReceivedStickerFeature"
 
 #endif /* __RECEIVER_PREFERENCE_H__ */
index a6a06e4..d0e0b7f 100644 (file)
@@ -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");
index aa196e1..aeefd28 100644 (file)
@@ -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;