From 3eab9e95c212ccf8887363781d8d0deda1eafce3 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Fri, 14 Aug 2020 20:56:26 +0900 Subject: [PATCH] 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