[TSAM-11694] Merge client list into main view 17/110217/1
authorAbhishek Sansanwal <abhishek.s94@samsung.com>
Fri, 6 Jan 2017 03:55:28 +0000 (09:25 +0530)
committerSeonah Moon <seonah1.moon@samsung.com>
Fri, 13 Jan 2017 08:55:02 +0000 (17:55 +0900)
Description: The connected client devices were being listed in
a seperate view, this commit adds the connected clients into
the main view.

Change-Id: I8449ce255b39269e4d83e59f94dc032457086139
Signed-off-by: Abhishek Sansanwal <abhishek.s94@samsung.com>
include/mh_view_main.h
include/mobile_hotspot.h
src/mh_connected_client.c
src/mh_main_ug.c
src/mh_view_main.c

index b1448e7..a6f1ebc 100755 (executable)
@@ -55,10 +55,10 @@ void _stop_update_device_conn_time(mh_appdata_t *ad);
 void _main_draw_contents(mh_appdata_t *ad);
 void _main_callback_del(mh_appdata_t *ad);
 void _main_free_genlist_itc(mh_appdata_t *ad);
-void _select_connected_dev(void *data, Evas_Object *obj, void *event_info);
+void _list_connected_dev(mh_appdata_t *data);
 void _genlist_update_device_item(mh_appdata_t *ad);
 void _update_conn_clients(mh_appdata_t *ad);
-void _create_connected_client_view(mh_appdata_t *ad);
+void _add_connected_clients(mh_appdata_t *ad);
 void _ctxpopup_more_button_callback_add(mh_appdata_t *ad);
 void _ctxpopup_more_button_callback_del(mh_appdata_t *ad);
 
index 61adffd..36ca6ff 100755 (executable)
@@ -140,6 +140,7 @@ typedef struct ap_app_main {
        Elm_Genlist_Item_Class  *device0_itc;
        Elm_Genlist_Item_Class  *popup_descp_itc;
        Elm_Genlist_Item_Class  *popup_check_itc;
+       Elm_Genlist_Item_Class  *dev_itc[TETHERING_TYPE_MAX];
 
        Elm_Object_Item         *sp_item[4];
        Elm_Object_Item         *help_sp_item;
@@ -151,7 +152,10 @@ typedef struct ap_app_main {
        Elm_Object_Item         *help_item;
        Elm_Object_Item         *popup_descp_item;
        Elm_Object_Item         *popup_check_item;
+       Elm_Object_Item         *dev_item;
+       Elm_Object_Item         *station_items[MAX_CONNECTED_STA];
 
+       int no_of_clients;
 #ifdef TETHERING_DATA_USAGE_SUPPORT
        Elm_Genlist_Item_Class  *usage_itc;
        Elm_Object_Item         *usage_item;
@@ -209,16 +213,6 @@ typedef struct {
 } mh_data_usage_t;
 
 typedef struct {
-       Elm_Object_Item *navi_it;
-       Evas_Object *genlist;
-
-       Elm_Genlist_Item_Class *dev_itc[TETHERING_TYPE_MAX];
-       Elm_Object_Item *dev_item;
-       Elm_Object_Item         *station_items[MAX_CONNECTED_STA];
-       int no_of_clients;
-} mh_conn_client_view_t;
-
-typedef struct {
        void    *gadget;
        GSList  *client_list;
        bool    is_foreground;
@@ -249,7 +243,6 @@ typedef struct {
        mh_main_view_t  main;
        mh_wifi_setting_view_t  setup;
        mh_data_usage_t         data_statistics;
-       mh_conn_client_view_t connected_device;
 } mh_appdata_t;
 
 typedef struct {
index 518359a..49425f4 100755 (executable)
 #include "mobile_hotspot.h"
 #include "mh_string.h"
 
-static void __deconstruct_conn_clients_view(mh_appdata_t *ad)
+static void __remove_conn_clients(mh_appdata_t *ad)
 {
        __MOBILE_AP_FUNC_ENTER__;
 
-       mh_conn_client_view_t *client = &ad->connected_device;
-       int no_of_dev;
+       mh_main_view_t *mv = &ad->main;
+       int connected_clients = 0;
        int i = 0;
 
-       no_of_dev = _get_list_clients_count(ad);
-       for (i = 0; i < no_of_dev; i++)
-               _free_genlist_item(&ad->connected_device.station_items[i]);
+       if (_get_no_of_connected_device(ad, &connected_clients,
+                                       TETHERING_TYPE_ALL) == EINA_FALSE)
+               ERR("Getting the number of connected device is failed");
 
-       _free_genlist_itc(&client->dev_itc[TETHERING_TYPE_WIFI]);
-       _free_genlist_itc(&client->dev_itc[TETHERING_TYPE_BT]);
-       _free_genlist_itc(&client->dev_itc[TETHERING_TYPE_USB]);
+       for (i = 0; i < MAX_CONNECTED_STA; i++)
+               _free_genlist_item(&ad->main.station_items[i]);
+
+       _free_genlist_itc(&mv->dev_itc[TETHERING_TYPE_WIFI]);
+       _free_genlist_itc(&mv->dev_itc[TETHERING_TYPE_BT]);
+       _free_genlist_itc(&mv->dev_itc[TETHERING_TYPE_USB]);
 
-       evas_object_del(client->genlist);
-       client->genlist = NULL;
-       client->navi_it = NULL;
        _stop_update_device_conn_time(ad);
 
        __MOBILE_AP_FUNC_EXIT__;
 }
 
-static void __update_connected_client_view(mh_appdata_t *ad)
+static void __update_connected_clients(mh_appdata_t *ad)
 {
        __MOBILE_AP_FUNC_ENTER__;
 
@@ -48,16 +48,23 @@ static void __update_connected_client_view(mh_appdata_t *ad)
        GSList *l = NULL;
        tethering_client_h *handle;
        int count = 0;
-       mh_conn_client_view_t *cli_view = &(ad->connected_device);
+       mh_main_view_t *main_view = &(ad->main);
+       int i = 0;
+       int connected_clients = 0;
 
-       elm_genlist_clear(cli_view->genlist);
+       if (_get_no_of_connected_device(ad, &connected_clients,
+                                       TETHERING_TYPE_ALL) == EINA_FALSE)
+               ERR("Getting the number of connected device is failed");
+
+       for (i = 0; i < MAX_CONNECTED_STA; i++)
+               _free_genlist_item(&ad->main.station_items[i]);
 
        for (l = ad->client_list; l != NULL; l = g_slist_next(l)) {
                handle = (tethering_client_h *)l->data;
                tethering_client_get_tethering_type(handle, &connection_type);
 
-               item = elm_genlist_item_append(cli_view->genlist,
-                               cli_view->dev_itc[connection_type],
+               item = elm_genlist_item_append(main_view->genlist,
+                               main_view->dev_itc[connection_type],
                                (void *)handle,
                                NULL, ELM_GENLIST_ITEM_NONE,
                                NULL, NULL);
@@ -65,10 +72,10 @@ static void __update_connected_client_view(mh_appdata_t *ad)
                        ERR("elm_genlist_item_append is failed\n");
                        continue;
                }
-               cli_view->station_items[count++] = item;
+               main_view->station_items[count++] = item;
                elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
        }
-       cli_view->no_of_clients = count;
+       main_view->no_of_clients = count;
        _start_update_device_conn_time(ad);
        __MOBILE_AP_FUNC_EXIT__;
        return;
@@ -82,15 +89,16 @@ void _update_conn_clients(mh_appdata_t *ad)
                ERR("Invalid param\n");
                return;
        }
-       unsigned int no_of_dev = 0;
-       no_of_dev = _get_list_clients_count(ad);
-
-       if (no_of_dev == 0) {
-               __deconstruct_conn_clients_view(ad);
-               elm_naviframe_item_pop(ad->naviframe);
-       } else {
-               __update_connected_client_view(ad);
-       }
+       int connected_clients = 0;
+       if (_get_no_of_connected_device(ad, &connected_clients,
+                                       TETHERING_TYPE_ALL) == EINA_FALSE)
+               ERR("Getting the number of connected device is failed");
+
+       if (connected_clients == 0)
+               __remove_conn_clients(ad);
+       else
+               __update_connected_clients(ad);
+
        __MOBILE_AP_FUNC_EXIT__;
        return;
 }
@@ -208,26 +216,26 @@ static void __set_genlist_itc(mh_appdata_t *ad)
 {
        __MOBILE_AP_FUNC_ENTER__;
 
-       ad->connected_device.dev_itc[TETHERING_TYPE_WIFI] = elm_genlist_item_class_new();
-       ad->connected_device.dev_itc[TETHERING_TYPE_WIFI]->item_style = MH_GENLIST_2LINE_TOP_TEXT_ICON_STYLE;
-       ad->connected_device.dev_itc[TETHERING_TYPE_WIFI]->func.text_get = __gl_get_dev_label;
-       ad->connected_device.dev_itc[TETHERING_TYPE_WIFI]->func.content_get = __gl_get_dev_wifi_icon;
-       ad->connected_device.dev_itc[TETHERING_TYPE_WIFI]->func.state_get = NULL;
-       ad->connected_device.dev_itc[TETHERING_TYPE_WIFI]->func.del = NULL;
-
-       ad->connected_device.dev_itc[TETHERING_TYPE_USB] = elm_genlist_item_class_new();
-       ad->connected_device.dev_itc[TETHERING_TYPE_USB]->item_style = MH_GENLIST_2LINE_TOP_TEXT_ICON_STYLE;
-       ad->connected_device.dev_itc[TETHERING_TYPE_USB]->func.text_get = __gl_get_dev_label;
-       ad->connected_device.dev_itc[TETHERING_TYPE_USB]->func.content_get = __gl_get_dev_usb_icon;
-       ad->connected_device.dev_itc[TETHERING_TYPE_USB]->func.state_get = NULL;
-       ad->connected_device.dev_itc[TETHERING_TYPE_USB]->func.del = NULL;
-
-       ad->connected_device.dev_itc[TETHERING_TYPE_BT] = elm_genlist_item_class_new();
-       ad->connected_device.dev_itc[TETHERING_TYPE_BT]->item_style = MH_GENLIST_2LINE_TOP_TEXT_ICON_STYLE;
-       ad->connected_device.dev_itc[TETHERING_TYPE_BT]->func.text_get = __gl_get_dev_label;
-       ad->connected_device.dev_itc[TETHERING_TYPE_BT]->func.content_get = __gl_get_dev_bt_icon;
-       ad->connected_device.dev_itc[TETHERING_TYPE_BT]->func.state_get = NULL;
-       ad->connected_device.dev_itc[TETHERING_TYPE_BT]->func.del = NULL;
+       ad->main.dev_itc[TETHERING_TYPE_WIFI] = elm_genlist_item_class_new();
+       ad->main.dev_itc[TETHERING_TYPE_WIFI]->item_style = MH_GENLIST_2LINE_TOP_TEXT_ICON_STYLE;
+       ad->main.dev_itc[TETHERING_TYPE_WIFI]->func.text_get = __gl_get_dev_label;
+       ad->main.dev_itc[TETHERING_TYPE_WIFI]->func.content_get = __gl_get_dev_wifi_icon;
+       ad->main.dev_itc[TETHERING_TYPE_WIFI]->func.state_get = NULL;
+       ad->main.dev_itc[TETHERING_TYPE_WIFI]->func.del = NULL;
+
+       ad->main.dev_itc[TETHERING_TYPE_USB] = elm_genlist_item_class_new();
+       ad->main.dev_itc[TETHERING_TYPE_USB]->item_style = MH_GENLIST_2LINE_TOP_TEXT_ICON_STYLE;
+       ad->main.dev_itc[TETHERING_TYPE_USB]->func.text_get = __gl_get_dev_label;
+       ad->main.dev_itc[TETHERING_TYPE_USB]->func.content_get = __gl_get_dev_usb_icon;
+       ad->main.dev_itc[TETHERING_TYPE_USB]->func.state_get = NULL;
+       ad->main.dev_itc[TETHERING_TYPE_USB]->func.del = NULL;
+
+       ad->main.dev_itc[TETHERING_TYPE_BT] = elm_genlist_item_class_new();
+       ad->main.dev_itc[TETHERING_TYPE_BT]->item_style = MH_GENLIST_2LINE_TOP_TEXT_ICON_STYLE;
+       ad->main.dev_itc[TETHERING_TYPE_BT]->func.text_get = __gl_get_dev_label;
+       ad->main.dev_itc[TETHERING_TYPE_BT]->func.content_get = __gl_get_dev_bt_icon;
+       ad->main.dev_itc[TETHERING_TYPE_BT]->func.state_get = NULL;
+       ad->main.dev_itc[TETHERING_TYPE_BT]->func.del = NULL;
 
        __MOBILE_AP_FUNC_EXIT__;
 }
@@ -248,7 +256,7 @@ static void __scroll_stop_cb(void *data, Evas_Object *obj, void *event_info)
        __MOBILE_AP_FUNC_EXIT__;
 }
 
-static void __create_genlist(mh_appdata_t *ad)
+static void __append_clients_genlist(mh_appdata_t *ad)
 {
        __MOBILE_AP_FUNC_ENTER__;
 
@@ -257,23 +265,13 @@ static void __create_genlist(mh_appdata_t *ad)
                return;
        }
 
-       Evas_Object *genlist;
        Elm_Object_Item *item = NULL;
        tethering_type_e connection_type = 0;
        GSList *l = NULL;
        tethering_client_h *handle;
        int count = 0;
 
-       mh_conn_client_view_t *client = &ad->connected_device;
-
-       genlist = elm_genlist_add(ad->naviframe);
-       if (genlist == NULL) {
-               ERR("genlist is NULL\n");
-               return;
-       }
-
-       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-       client->genlist = genlist;
+       mh_main_view_t *mv = &ad->main;
 
        __set_genlist_itc(ad);
 
@@ -281,8 +279,8 @@ static void __create_genlist(mh_appdata_t *ad)
                handle = (tethering_client_h *)l->data;
                tethering_client_get_tethering_type(handle, &connection_type);
 
-               item = elm_genlist_item_append(client->genlist,
-                               client->dev_itc[connection_type],
+               item = elm_genlist_item_append(mv->genlist,
+                               mv->dev_itc[connection_type],
                                (void *)handle,
                                NULL, ELM_GENLIST_ITEM_NONE,
                                NULL, NULL);
@@ -290,43 +288,25 @@ static void __create_genlist(mh_appdata_t *ad)
                        ERR("elm_genlist_item_append is failed\n");
                        continue;
                }
-               client->station_items[count++] = item;
+               mv->station_items[count++] = item;
                elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
        }
-       evas_object_smart_callback_add(genlist, "scroll,anim,start",
+       evas_object_smart_callback_add(mv->genlist, "scroll,anim,start",
                                __scroll_start_cb, ad);
-       evas_object_smart_callback_add(genlist, "scroll,drag,start",
+       evas_object_smart_callback_add(mv->genlist, "scroll,drag,start",
                                __scroll_start_cb, ad);
-       evas_object_smart_callback_add(genlist, "scroll,anim,stop",
+       evas_object_smart_callback_add(mv->genlist, "scroll,anim,stop",
                                __scroll_stop_cb, ad);
-       evas_object_smart_callback_add(genlist, "scroll,drag,stop",
+       evas_object_smart_callback_add(mv->genlist, "scroll,drag,stop",
                                __scroll_stop_cb, ad);
 
-       client->no_of_clients = count;
+       mv->no_of_clients = count;
        _start_update_device_conn_time(ad);
 
        __MOBILE_AP_FUNC_EXIT__;
 }
 
-static Eina_Bool __back_btn_cb(void *data, Elm_Object_Item *navi_item)
-{
-       DBG("+\n");
-
-       if (data == NULL) {
-               ERR("The param is NULL\n");
-               return EINA_FALSE;
-       }
-
-       mh_appdata_t *ad = (mh_appdata_t *)data;
-
-       __deconstruct_conn_clients_view(ad);
-       _ctxpopup_more_button_callback_add(ad);
-
-       DBG("-\n");
-       return EINA_TRUE;
-}
-
-void _create_connected_client_view(mh_appdata_t *ad)
+void _add_connected_clients(mh_appdata_t *ad)
 {
        DBG("+\n");
        if (ad == NULL) {
@@ -334,22 +314,8 @@ void _create_connected_client_view(mh_appdata_t *ad)
                return;
        }
 
-       mh_conn_client_view_t *client = &ad->connected_device;
-
-       if (client->navi_it != NULL) {
-               ERR("connected device view already exists\n");
-               return;
-       }
-
-       __create_genlist(ad);
-       if (client->genlist == NULL) {
-               ERR("__create_genlist failed NULL\n");
-               return;
-       }
 
-       client->navi_it = elm_naviframe_item_push(ad->naviframe, STR_CONN_DEVICES, NULL, NULL, client->genlist, NULL);
-       elm_object_item_domain_text_translatable_set(client->navi_it, PKGNAME, EINA_TRUE);
+       __append_clients_genlist(ad);
 
-       elm_naviframe_item_pop_cb_set(client->navi_it, __back_btn_cb, (void *)ad);
        DBG("-\n");
 }
index d01eab5..6552181 100755 (executable)
@@ -254,7 +254,7 @@ static void on_start(ui_gadget_h ug, app_control_h app_control, void *priv)
 #ifdef TETHERING_DATA_USAGE_SUPPORT
                _start_update_data_packet_usage(ad);
 #endif
-               if (ad->connected_device.navi_it)
+               if (ad->navi_item)
                        _start_update_device_conn_time(ad);
        }
 
@@ -308,7 +308,7 @@ static void on_resume(ui_gadget_h ug, app_control_h app_control, void *priv)
 #ifdef TETHERING_DATA_USAGE_SUPPORT
                _start_update_data_packet_usage(ad);
 #endif
-               if (ad->connected_device.navi_it)
+               if (ad->navi_item)
                        _start_update_device_conn_time(ad);
        }
        DBG("-\n");
index ab2a861..c1403dc 100755 (executable)
 #include "mh_string.h"
 
 static void __ctx_move_more_ctxpopup(Evas_Object *ctx, mh_appdata_t *ad);
-static void __ctx_delete_more_ctxpopup_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-static void __create_ctxpopup_more_button(void *data, Evas_Object *obj, void *event_info);
+static void __ctx_delete_more_ctxpopup_cb(void *data, Evas *e, Evas_Object *obj,
+                                         void *event_info);
+static void __create_ctxpopup_more_button(void *data, Evas_Object *obj,
+                                         void *event_info);
 
 static Eina_Bool rotate_flag = EINA_FALSE;
 
@@ -36,20 +38,16 @@ void _genlist_update_device_item(mh_appdata_t *ad);
 mh_appdata_t *g_ad = NULL;
 #define UPDATE_INTERVAL 1
 
-void _select_connected_dev(void *data, Evas_Object *obj, void *event_info)
+void _list_connected_dev(mh_appdata_t *ap)
 {
        __MOBILE_AP_FUNC_ENTER__;
 
-       if (data == NULL) {
+       if (ap == NULL) {
                ERR("data is NULL\n");
                return;
        }
 
-       mh_appdata_t *ad = (mh_appdata_t *)data;
-
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-       _ctxpopup_more_button_callback_del(ad);
-       _create_connected_client_view(ad);
+       _add_connected_clients(ap);
        __MOBILE_AP_FUNC_EXIT__;
 }
 
@@ -139,9 +137,9 @@ Eina_Bool ap_update_device_conn_time(void * data)
                return ECORE_CALLBACK_CANCEL;
        }
 
-       while (count < ad->connected_device.no_of_clients) {
-               if (ad->connected_device.station_items[count])
-                       elm_genlist_item_fields_update(ad->connected_device.station_items[count++],
+       while (count < ad->main.no_of_clients) {
+               if (ad->main.station_items[count])
+                       elm_genlist_item_fields_update(ad->main.station_items[count++],
                                        "elm.text.sub", ELM_GENLIST_ITEM_FIELD_TEXT);
        }
        return ECORE_CALLBACK_RENEW;
@@ -368,25 +366,25 @@ void _genlist_update_device_item(mh_appdata_t *ad)
        no_of_dev = _get_list_clients_count(ad);
        Elm_Object_Item *item = NULL;
 
-       if (ad->main.device_item) {
-               elm_object_item_del(ad->main.device_item);
-               ad->main.device_item = NULL;
-               if (no_of_dev == 0) {
-                       item = elm_genlist_item_append(ad->main.genlist,
-                                       ad->main.device0_itc, ad, NULL,
-                                       ELM_GENLIST_ITEM_NONE, NULL, NULL);
-                       elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+       if (no_of_dev == 0) {
+               if (ad->main.device_item) {
+                       elm_object_item_del(ad->main.device_item);
+                       ad->main.device_item = NULL;
+                       _update_conn_clients(ad);
+               }
+       } else {
+               if (ad->main.device_item) {
+               _update_conn_clients(ad);
                } else {
                        item = elm_genlist_item_append(ad->main.genlist,
                                        ad->main.device_itc, ad, NULL,
-                                       ELM_GENLIST_ITEM_NONE, _select_connected_dev, (void *)ad);
-                       elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DEFAULT);
+                                       ELM_GENLIST_ITEM_NONE, NULL, NULL);
+                       elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+                       ad->main.device_item = item;
+                       _list_connected_dev(ad);
+                       }
                }
-               ad->main.device_item = item;
-       }
 
-       if (ad->connected_device.navi_it)
-               _update_conn_clients(ad);
 
        __MOBILE_AP_FUNC_EXIT__;
        return;
@@ -456,16 +454,13 @@ void _update_main_view(mh_appdata_t *ad, tethering_type_e type)
 
                no_of_dev = _get_list_clients_count(ad);
                if (ad->main.device_item == NULL) {
-                       if (no_of_dev == 0) {
-                               item = elm_genlist_item_append(ad->main.genlist,
-                                               ad->main.device0_itc, ad, NULL,
-                                               ELM_GENLIST_ITEM_NONE, NULL, NULL);
-                               elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-                       } else {
+                       if (no_of_dev != 0) {
                                item = elm_genlist_item_append(ad->main.genlist,
                                                ad->main.device_itc, ad, NULL,
-                                               ELM_GENLIST_ITEM_NONE, _select_connected_dev, (void *)ad);
+                                               ELM_GENLIST_ITEM_NONE, NULL, NULL);
                                elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DEFAULT);
+                       _list_connected_dev(ad);
+                       _update_conn_clients(ad);
                        }
                        ad->main.device_item = item;
                }
@@ -985,45 +980,18 @@ static char *__get_help_label(void *data, Evas_Object *obj, const char *part)
        return NULL;
 }
 
-static char *__get_no_connected_device_label(void *data, Evas_Object *obj,
-                                                       const char *part)
-{
-       mh_appdata_t *ad = (mh_appdata_t*)data;
-       char buf[MH_LABEL_LENGTH_MAX] = {0, };
-       int no_of_dev;
-
-       if (data == NULL) {
-               ERR("The param is NULL\n");
-               return NULL;
-       }
-
-       if (!strcmp("elm.text.multiline", part)) {
-               no_of_dev = _get_list_clients_count(ad);
-               snprintf(buf, MH_LABEL_LENGTH_MAX, "<font_size=30>%s<br>%d</font_size>", STR_CONNECTED_DEV, no_of_dev);
-               return strdup(buf);
-       }
-
-       return NULL;
-}
-
-static char *__get_connected_device_label(void *data, Evas_Object *obj,
+static char *__get_device_label(void *data, Evas_Object *obj,
                                                        const char *part)
 {
-       mh_appdata_t *ad = (mh_appdata_t*)data;
        char buf[MH_LABEL_LENGTH_MAX] = {0, };
-       int no_of_dev;
 
        if (data == NULL) {
                ERR("The param is NULL\n");
                return NULL;
        }
 
-       if (!strcmp("elm.text.sub", part)) {
-               g_strlcpy(buf, STR_CONNECTED_DEV, sizeof(buf));
-               return strdup(buf);
-       } else if (!strcmp("elm.text", part)) {
-               no_of_dev = _get_list_clients_count(ad);
-               snprintf(buf, MH_LABEL_LENGTH_MAX, "%d", no_of_dev);
+       if (!strcmp("elm.text", part)) {
+               snprintf(buf, MH_LABEL_LENGTH_MAX, "<font_size=30>%s</font_size>", STR_CONNECTED_DEV);
                return strdup(buf);
        }
 
@@ -1144,18 +1112,6 @@ static void __set_genlist_itc(mh_appdata_t *ad)
 
        /* End of Off view's item class for genlist */
 
-       /* On view's item class for genlist */
-       ad->main.device0_itc = elm_genlist_item_class_new();
-       if (ad->main.device0_itc == NULL) {
-               ERR("elm_genlist_item_class_new failed\n");
-               return;
-       }
-
-       ad->main.device0_itc->item_style = MH_GENLIST_MULTILINE_TEXT_STYLE;
-       ad->main.device0_itc->func.text_get = __get_no_connected_device_label;
-       ad->main.device0_itc->func.content_get = NULL;
-       ad->main.device0_itc->func.state_get = NULL;
-       ad->main.device0_itc->func.del = NULL;
 
        ad->main.device_itc = elm_genlist_item_class_new();
        if (ad->main.device_itc == NULL) {
@@ -1163,8 +1119,8 @@ static void __set_genlist_itc(mh_appdata_t *ad)
                return;
        }
 
-       ad->main.device_itc->item_style = MH_GENLIST_2LINE_BOTTOM_TEXT_STYLE;
-       ad->main.device_itc->func.text_get = __get_connected_device_label;
+       ad->main.device_itc->item_style = MH_GENLIST_GROUP_INDEX_STYLE;
+       ad->main.device_itc->func.text_get = __get_device_label;
        ad->main.device_itc->func.content_get = NULL;
        ad->main.device_itc->func.state_get = NULL;
        ad->main.device_itc->func.del = NULL;
@@ -1305,16 +1261,13 @@ static void __create_inner_contents(mh_appdata_t *ad)
                                _connected_clients_cb, (void *)ad);
 
                no_of_dev = _get_list_clients_count(ad);
-               if (no_of_dev == 0) {
+               if (no_of_dev != 0) {
                        item = elm_genlist_item_append(ad->main.genlist,
-                                               ad->main.device0_itc, ad, NULL,
+                                               ad->main.device_itc, ad, NULL,
                                                ELM_GENLIST_ITEM_NONE, NULL, NULL);
                        elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-               } else {
-                       item = elm_genlist_item_append(ad->main.genlist,
-                                               ad->main.device_itc, ad, NULL,
-                                               ELM_GENLIST_ITEM_NONE, _select_connected_dev, (void *)ad);
-                       elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DEFAULT);
+                       _list_connected_dev(ad);
+                       _update_conn_clients(ad);
                }
                ad->main.device_item = item;
        }