Add code to delete all AR emoji stickers 65/234865/3
authorInHong Han <inhong1.han@samsung.com>
Fri, 29 May 2020 09:00:14 +0000 (18:00 +0900)
committerInHong Han <inhong1.han@samsung.com>
Fri, 29 May 2020 09:18:27 +0000 (18:18 +0900)
Change-Id: Id932afb03d7343e6e791c94b6c957d1c12f8bf4a

receiver/inc/sticker_info.h
receiver/src/ft.cpp
receiver/src/sticker_info.cpp

index 8deac5e..b45eae5 100644 (file)
@@ -21,6 +21,6 @@ void insert_sticker_data(const char *filepath, const char *keyword, const char *
 int create_sticker_provider_handle(void);
 void destroy_sticker_provider_handle(void);
 void delete_sticker_data(const char *fileName);
-void delete_all_bitmoji_stickers();
+void delete_all_stickers(const char *groupName);
 
 #endif /* __STICKER_INFO_H__ */
index b90dad1..32aa136 100644 (file)
@@ -67,7 +67,8 @@ using namespace std;
 enum {
     SYNC_START_RSP_SUCCESS = 1000,
     SYNC_START_RSP_NO_STICKER = 1001,
-    SYNC_START_RSP_BITMOJI_ALL_DELETE = 1002
+    SYNC_START_RSP_BITMOJI_ALL_DELETE = 1002,
+    SYNC_START_RSP_AREMOJI_ALL_DELETE = 1003
 };
 
 struct sap_info_s {
@@ -659,6 +660,9 @@ static void send_sync_start_response(int result_code)
                 response_to_app = "success";
             break;
         }
+        case SYNC_START_RSP_AREMOJI_ALL_DELETE:
+            response_to_app = "success";
+            break;
         default:
             response_to_app = "unknown_error";
             break;
@@ -770,7 +774,7 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in
             if (current_request.category == string("bitmoji")) {
                 LOGD("Delete all bitmoji stickers");
                 if (create_sticker_provider_handle() == STICKER_ERROR_NONE) {
-                    delete_all_bitmoji_stickers();
+                    delete_all_stickers("bitmoji");
                     destroy_sticker_provider_handle();
                 }
             }
@@ -778,7 +782,13 @@ on_data_received(sap_socket_h socket, unsigned short int channel_id, unsigned in
             if (result_code == SYNC_START_RSP_BITMOJI_ALL_DELETE) {
                 LOGD("Delete all bitmoji stickers");
                 if (create_sticker_provider_handle() == STICKER_ERROR_NONE) {
-                    delete_all_bitmoji_stickers();
+                    delete_all_stickers("bitmoji");
+                    destroy_sticker_provider_handle();
+                }
+            } else if (result_code == SYNC_START_RSP_AREMOJI_ALL_DELETE) {
+                LOGD("Delete all AR Emoji stickers");
+                if (create_sticker_provider_handle() == STICKER_ERROR_NONE) {
+                    delete_all_stickers("arsticker");
                     destroy_sticker_provider_handle();
                 }
             }
index 2b59d57..afe989b 100644 (file)
@@ -144,23 +144,24 @@ void delete_sticker_data(const char *fileName)
         LOGE("Failed to delete sticker. ret : %d", ret);
 }
 
-static void _delete_all_bitmoji_stickers_cb(sticker_data_h data_handle, void *user_data)
+static void _delete_all_stickers_cb(sticker_data_h data_handle, void *user_data)
 {
     int ret;
-    char *group = NULL;
+    char *sticker_group = NULL;
+    char *del_group = (char *) user_data;
 
-    ret = sticker_data_get_group_name(data_handle, &group);
+    ret = sticker_data_get_group_name(data_handle, &sticker_group);
     if (ret != STICKER_ERROR_NONE)
         LOGE("Failed to get group name. ret : %d", ret);
 
-    if (strcmp(group, "bitmoji") == 0) {
+    if (strcmp(sticker_group, del_group) == 0) {
         ret = sticker_provider_delete_data(sticker_provider, data_handle);
         if (ret != STICKER_ERROR_NONE)
             LOGE("Failed to delete sticker. ret : %d", ret);
     }
 }
 
-void delete_all_bitmoji_stickers()
+void delete_all_stickers(const char *groupName)
 {
     int ret;
     int total_cnt;
@@ -170,7 +171,7 @@ void delete_all_bitmoji_stickers()
     if (ret != STICKER_ERROR_NONE)
         LOGE("Failed to get sticker count. ret : %d", ret);
 
-    ret = sticker_provider_data_foreach_all(sticker_provider, 0, total_cnt, &result, _delete_all_bitmoji_stickers_cb, NULL);
+    ret = sticker_provider_data_foreach_all(sticker_provider, 0, total_cnt, &result, _delete_all_stickers_cb, (void *)groupName);
     if (ret != STICKER_ERROR_NONE)
         LOGE("Failed to retrieve all sticker data. ret : %d", ret);
 }
\ No newline at end of file