Reduce duplicate code to check validation of IME index 62/276862/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 27 Jun 2022 06:45:41 +0000 (15:45 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Mon, 27 Jun 2022 06:45:41 +0000 (15:45 +0900)
Change-Id: Ic9ee12390e01ca3d5b418077d76c8b35b795fd54
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
im_setting_list/input_method_setting_list_popup_view.cpp
im_setting_list/input_method_setting_list_ui.cpp

index 3cc1bed..c229ce4 100644 (file)
@@ -36,13 +36,21 @@ static int                          g_active_ime_id = -1;
 
 static int selected_index = 0;
 
-static void im_setting_list_update_radio_state(Elm_Object_Item *item, Evas_Object *obj, int index)
+static bool CHECK_IME_INDEX(int index)
 {
     if (index < 0 || index >= (int)g_active_ime_info_list.size()) {
         LOGW("Wrong value. index : %d, g_active_ime_info_list.size() : %zu\n", index, g_active_ime_info_list.size());
-        return;
+        return false;
     }
 
+    return true;
+}
+
+static void im_setting_list_update_radio_state(Elm_Object_Item *item, Evas_Object *obj, int index)
+{
+    if (!CHECK_IME_INDEX(index))
+        return;
+
     if (item && obj) {
         elm_genlist_item_selected_set(item, EINA_FALSE);
         /* Update radio button */
@@ -133,10 +141,8 @@ static char *im_setting_list_genlist_item_label_get(void *data, Evas_Object *obj
         return NULL;
 
     int index = cb_data->index;
-    if (index < 0 || index >= (int)g_active_ime_info_list.size()) {
-        LOGW("Wrong value. index : %d, g_active_ime_info_list.size() : %zu\n", index, g_active_ime_info_list.size());
+    if (!CHECK_IME_INDEX(index))
         return NULL;
-    }
 
     if (!strcmp(part, "elm.text") ||
         !strcmp(part, "elm.text.main") ||
index 30cab7d..4ddaecb 100644 (file)
@@ -89,6 +89,16 @@ static package_manager_h            pkgmgr = NULL;
 
 void im_setting_list_update_window(void *data);
 
+static bool CHECK_IME_INDEX(int index)
+{
+    if (index < 0 || index >= (int)g_ime_info_list.size()) {
+        LOGW("Wrong value. index : %d, g_ime_info_list.size() : %zu\n", index, g_ime_info_list.size());
+        return false;
+    }
+
+    return true;
+}
+
 static void im_setting_list_text_domain_set(void)
 {
     bindtextdomain(IM_SETTING_LIST_PACKAGE, IM_SETTING_LIST_LOCALE_DIR);
@@ -147,10 +157,9 @@ im_setting_list_check_popup_ok_cb(void *data, Evas_Object *obj, void *event_info
     if (!cb_data)
         return;
     int index = (int)reinterpret_cast<long>(cb_data->data);
-    if (index < 0 || index >= (int)g_ime_info_list.size()) {
-        LOGW("Wrong value. index : %d, g_ime_info_list.size() : %zu\n", index, g_ime_info_list.size());
+    if (!CHECK_IME_INDEX(index))
         return;
-    }
+
     Eina_Bool state = EINA_FALSE;
     state = g_gen_item_data[index].chk_status;
     if (isf_control_set_enable_ime(g_ime_info_list[index].appid, state) != 0)
@@ -165,11 +174,10 @@ im_setting_list_check_popup_cancel_cb(void *data, Evas_Object *obj, void *event_
     popup_cb_data *cb_data = (popup_cb_data *)data;
     if (!cb_data)
         return;
+
     int index = (int)reinterpret_cast<long>(cb_data->data);
-    if (index < 0 || index >= (int)g_ime_info_list.size()) {
-        LOGW("Wrong value. index : %d, g_ime_info_list.size() : %zu\n", index, g_ime_info_list.size());
+    if (!CHECK_IME_INDEX(index))
         return;
-    }
 
     Eina_Bool state = g_gen_item_data[index].chk_status;
     if (isf_control_set_enable_ime(g_ime_info_list[index].appid, !state) == 0) {
@@ -189,10 +197,8 @@ static void _popup_back_cb(void *data, Evas_Object *obj, void *event_info)
     if (!cb_data)
         return;
     int index = (int)reinterpret_cast<long>(cb_data->data);
-    if (index < 0 || index >= (int)g_ime_info_list.size()) {
-        LOGW("Wrong value. index : %d, g_ime_info_list.size() : %zu\n", index, g_ime_info_list.size());
+    if (!CHECK_IME_INDEX(index))
         return;
-    }
 
     if (g_gen_item_data[index].chk_status) {
         im_setting_list_check_popup_cancel_cb(data, NULL, NULL);
@@ -217,10 +223,8 @@ static void _active_keyboard_changed_cb(keynode_t* node, void* data)
 
     if (g_active_ime_index != active_ime_index) {
         g_active_ime_index = active_ime_index;
-        if (g_active_ime_index < 0 || g_active_ime_index >= (int)g_ime_info_list.size()) {
-            LOGW("Wrong value. g_active_ime_index : %d, g_ime_info_list.size() : %zu\n", g_active_ime_index, g_ime_info_list.size());
+        if (!CHECK_IME_INDEX(g_active_ime_index))
             return;
-        }
 
         /* Default keyboard selector */
         snprintf(item_text[0].main_text, sizeof(item_text[0].main_text), "%s", IM_SETTING_LIST_DEFAULT_KEYBOARD);
@@ -272,10 +276,8 @@ static void add_popup_button(Evas_Object *popup, const char *button_text, const
 static void im_setting_list_show_popup(void *data, Evas_Object *obj, popup_ok_cb ime_setting_list_ok_callback, popup_cancel_cb ime_setting_list_cancel_callback)
 {
     int index = (int)reinterpret_cast<long>(data);
-    if (index < 0 || index >= (int)g_ime_info_list.size()) {
-        LOGW("Wrong value. index : %d, g_ime_info_list.size() : %zu\n", index, g_ime_info_list.size());
+    if (!CHECK_IME_INDEX(index))
         return;
-    }
 
     Evas_Object *top_widget = elm_object_top_widget_get(obj);
     Evas_Object *popup = elm_popup_add(top_widget);
@@ -301,10 +303,8 @@ static void im_setting_list_check_button_change_cb(void *data, Evas_Object *obj,
 {
     /*save the checked ime*/
     int index = (int)reinterpret_cast<long>(data);
-    if (index < 0 || index >= (int)g_ime_info_list.size()) {
-        LOGW("Wrong value. index : %d, g_ime_info_list.size() : %zu\n", index, g_ime_info_list.size());
+    if (!CHECK_IME_INDEX(index))
         return;
-    }
 
     Eina_Bool state = g_gen_item_data[index].chk_status;
 
@@ -322,11 +322,10 @@ im_setting_list_popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
     popup_cb_data *cb_data = (popup_cb_data *)data;
     if (!cb_data)
         return;
+
     int index = (int)reinterpret_cast<long>(cb_data->data);
-    if (index < 0 || index >= (int)g_ime_info_list.size()) {
-        LOGW("Wrong value. index : %d, g_ime_info_list.size() : %zu\n", index, g_ime_info_list.size());
+    if (!CHECK_IME_INDEX(index))
         return;
-    }
 
     Eina_Bool state = g_gen_item_data[index].chk_status;
     if (isf_control_set_enable_ime(g_ime_info_list[index].appid, !state) == 0) {
@@ -361,10 +360,8 @@ static void im_setting_list_item_sel_cb(void *data, Evas_Object *obj, void *even
     elm_genlist_item_selected_set(item, EINA_FALSE);
 
     int index = (int)reinterpret_cast<long>(data);
-    if (index < 0 || index >= (int)g_ime_info_list.size()) {
-        LOGW("Wrong value. index : %d, g_ime_info_list.size() : %zu\n", index, g_ime_info_list.size());
+    if (!CHECK_IME_INDEX(index))
         return;
-    }
 
     if (g_ime_info_list[index].is_preinstalled || (index == g_active_ime_index))
     {
@@ -473,10 +470,8 @@ static char *im_setting_list_genlist_keyboard_list_item_label_get(void *data, Ev
 {
     Item_Data *id = (Item_Data *)data;
     int index = id->index;
-    if (index < 0 || index >= (int)g_ime_info_list.size()) {
-        LOGW("Wrong value. index : %d, g_ime_info_list.size() : %zu\n", index, g_ime_info_list.size());
+    if (!CHECK_IME_INDEX(index))
         return NULL;
-    }
 
     if (!strcmp(part, "elm.text.main.left.top") ||
         !strcmp(part, "elm.text.main.left") ||
@@ -503,10 +498,8 @@ static Evas_Object *im_setting_list_genlist_keyboard_list_item_icon_get(void *da
     Item_Data *id = (Item_Data *)data;
     int index = id->index;
 
-    if (index < 0 || index >= (int)g_ime_info_list.size()) {
-        LOGW("Wrong value. index : %d, g_ime_info_list.size() : %zu\n", index, g_ime_info_list.size());
+    if (!CHECK_IME_INDEX(index))
         return NULL;
-    }
 
     if (!strcmp(part, "elm.swallow.end") ||
         !strcmp(part, "elm.icon")) {
@@ -671,10 +664,8 @@ static void im_setting_list_add_ime(void *data) {
     }
 
     g_active_ime_index = im_setting_list_get_active_ime_index();
-    if (g_active_ime_index < 0 || g_active_ime_index >= (int)g_ime_info_list.size()) {
-        LOGW("Wrong value. g_active_ime_index : %d, g_ime_info_list.size() : %zu\n", g_active_ime_index, g_ime_info_list.size());
+    if (!CHECK_IME_INDEX(g_active_ime_index))
         return;
-    }
 
 #ifdef _WEARABLE
     /* Add scrollable title area in wearable profile */