Implement OOBE view #3 16/212516/3
authorSeonah Moon <seonah1.moon@samsung.com>
Thu, 22 Aug 2019 08:20:38 +0000 (17:20 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Thu, 22 Aug 2019 09:57:59 +0000 (18:57 +0900)
- Add a item to find hidden AP
- Change font size for OOBE
- Move password check box
- Change a parent object of popup

Change-Id: I022e9a94a0a244bc6e8d43faff124db6c9223e20

resources/images/find_hidden_network.png [new file with mode: 0644]
sources/libraries/Common/common_eap_connect.c
sources/libraries/Common/common_pswd_popup.c
sources/libraries/Common/include/common.h
sources/libraries/Common/include/common_utils.h
sources/ui-gadget/edcs/custom_editfield.edc
sources/ui-gadget/viewers-layout/viewer_manager.c
sources/ui-gadget/viewers-layout/wifi_viewer_list.c

diff --git a/resources/images/find_hidden_network.png b/resources/images/find_hidden_network.png
new file mode 100644 (file)
index 0000000..175656c
Binary files /dev/null and b/resources/images/find_hidden_network.png differ
index 2a7c7a9..ed8dd0d 100755 (executable)
@@ -1160,7 +1160,7 @@ static Evas_Object *_gl_eap_chkbox_item_content_get(void *data,
 {
        Evas_Object *check = NULL;
 
-       if (!strcmp("elm.swallow.end", part)) {
+       if (!strcmp("elm.swallow.icon", part)) {
                check = elm_check_add(obj);
                evas_object_propagate_events_set(check, EINA_FALSE);
 
index 6469e05..1d98678 100755 (executable)
@@ -528,7 +528,7 @@ static Evas_Object *_gl_pswd_check_box_item_content_get(void *data,
        Evas_Object *check = NULL;
        pswd_popup_t *pswd_popup_data = (pswd_popup_t *)data;
 
-       if (!strcmp("elm.swallow.end", part)) {
+       if (!strcmp("elm.swallow.icon", part)) {
                check = elm_check_add(obj);
                evas_object_propagate_events_set(check, EINA_FALSE);
 
@@ -664,6 +664,7 @@ pswd_popup_t *create_passwd_popup(Evas_Object *conformant, Evas_Object *win_main
        memset(&popup_btn_data, 0, sizeof(popup_btn_data));
 
        popup_btn_data.title_txt = popup_info->title;
+       //popup_btn_data.sub_title_txt = popup_info->sec_type
        popup_btn_data.btn1_cb = popup_info->cancel_cb;
        popup_btn_data.btn1_data = popup_info->cb_data;
        popup_btn_data.btn1_txt = "IDS_WIFI_SK_CANCEL";
index 3740a76..d0b4dd5 100755 (executable)
@@ -97,6 +97,12 @@ extern "C"
 /* Icon Size*/
 #define DEFAULT_BG_SIZE 60
 #define DEFAULT_BUTTON_CIRCLE_SIZE 40
+#define DEFAULT_OOBE_BUTTON_CIRCLE_SIZE 20
+
+/* Font Size */
+#define SMALL_FONT_SIZE 28
+#define MID_FONT_SIZE 30
+#define BIG_FONT_SIZE 32
 
 typedef enum {
        UG_VIEW_DEFAULT = 0,
index 517f897..e9c8bce 100755 (executable)
@@ -66,6 +66,7 @@ typedef struct {
 
 typedef struct {
        char *title_txt;
+       char *sub_title_txt;
        char *info_txt;
        Evas_Object *btn;
        char *btn1_txt;
index 3472f6a..c96d2bb 100755 (executable)
@@ -44,6 +44,7 @@ RESOURCE_IMAGE("wifi_icon_badge_container.png");
 RESOURCE_IMAGE("wifi_icon_badge_info.png");
 RESOURCE_IMAGE("core_button_effect_normal.#.png");
 RESOURCE_IMAGE("core_button_effect_pressed.#.png");
+RESOURCE_IMAGE("find_hidden_network.png");
 
        base_scale: 1.8;
        plugins {
index 53e9143..a96d7e8 100755 (executable)
@@ -679,10 +679,12 @@ static char *_gl_wifi_onoff_text_get(void *data, Evas_Object *obj, const char *p
 
        if (!strcmp("elm.text", part)) {
                if (ug_type == UG_VIEW_OOBE
-                               && manager_object->header_mode == HEADER_MODE_SEARCHING)
-                       det = g_strdup(sc(PACKAGE, I18N_TYPE_Scanning));
-               else
+                               && manager_object->header_mode == HEADER_MODE_SEARCHING) {
+                       det = g_strdup_printf("<font_size=%d>%s</font_size>",
+                                       SMALL_FONT_SIZE, sc(PACKAGE, I18N_TYPE_Scanning));
+               } else {
                        det = g_strdup(manager_object->item_wifi_onoff_text);
+               }
                assertm_if(NULL == det, "NULL!!");
        }
 
@@ -1833,6 +1835,8 @@ static int viewer_manager_update_list_all(char *ssid)
                wifi_device_list = NULL;
        }
 
+       // Append hidden AP item
+       viewer_list_item_hidden_network_set(update_info.last_appended_item);
        INFO_LOG(UG_NAME_NORMAL, "total items added = %d", update_info.total_items_added);
 
        if (0 == update_info.total_items_added) {
@@ -2195,7 +2199,7 @@ void viewer_manager_specific_scan_response_hlr(
                        device_info.ssid = (char *)ssid;
                        device_info.ap = ap;
                        ug_app_state->eap_view =
-                                       create_eap_view(ug_app_state->layout_main,
+                                       create_eap_view(ug_app_state->parent_layout,
                                                        ugd->win_main,
                                                        ug_app_state->conformant,
                                                        PACKAGE, &device_info,
index 4f3b7fc..7e8e286 100755 (executable)
@@ -38,6 +38,7 @@ static Elm_Object_Item* last_item = NULL;
 static Elm_Genlist_Item_Class *itc;
 static Elm_Genlist_Item_Class *no_wifi_device_itc;
 static Elm_Genlist_Item_Class *grouptitle_itc;
+static Elm_Genlist_Item_Class *last_item_itc;
 static Elm_Object_Item *grouptitle = NULL;
 
 extern wifi_appdata *ug_app_state;
@@ -88,6 +89,7 @@ static char* _gl_listview_text_get(void *data, Evas_Object *obj, const char *par
        char* det = NULL;
        char* buf = NULL;
        char* convertedColor = NULL;
+       int ug_type;
 
        ug_genlist_data_t* gdata = (ug_genlist_data_t*) data;
        retvm_if(NULL == gdata || NULL == gdata->device_info, NULL);
@@ -98,24 +100,35 @@ static char* _gl_listview_text_get(void *data, Evas_Object *obj, const char *par
                det = evas_textblock_text_utf8_to_markup(NULL,
                                gdata->device_info->ssid);
                assertm_if(NULL == det, "NULL!!");
-
-               convertedColor = ConvertRGBAtoHex(61, 185, 204, 255);
                assertm_if(NULL == convertedColor, "NULL!!");
-               if (VIEWER_ITEM_RADIO_MODE_CONNECTED == gdata->radio_mode) {
+
+               ug_type = wifi_get_ug_type();
+
+               if (ug_type != UG_VIEW_OOBE && VIEWER_ITEM_RADIO_MODE_CONNECTED == gdata->radio_mode) {
+                       convertedColor = ConvertRGBAtoHex(61, 185, 204, 255);
                        buf = g_strdup_printf("<color=#%s>%s</color>",
-                               convertedColor, det);
+                                       convertedColor, det);
 
                        g_free(det);
                        g_free(convertedColor);
                        return buf;
+               } else if (wifi_get_ug_type() == UG_VIEW_OOBE) {
+                       buf = g_strdup_printf("<font_size=%d>%s</font_size>",
+                                       BIG_FONT_SIZE, det);
+                       g_free(det);
+                       return buf;
                }
        } else if (!strcmp("elm.text.sub", part)
                        && gdata->device_info->ap_status_txt != NULL) {
                det = g_strdup(gdata->device_info->ap_status_txt);
-
                assertm_if(NULL == det, "NULL!!");
+
+               buf = g_strdup_printf("<font_size=%d>%s</font_size>",
+                               SMALL_FONT_SIZE, det);
+               g_free(det);
+               return buf;
        }
-       g_free(convertedColor);
+
        return det;
 }
 
@@ -141,9 +154,15 @@ static Evas_Object *_gl_listview_content_get(void *data, Evas_Object *obj, const
                elm_image_file_set(icon, CUSTOM_EDITFIELD_PATH, temp_str);
                g_free(temp_str);
 
-               evas_object_color_set(icon, 2, 61, 132, 204);
-               evas_object_size_hint_min_set(icon, ELM_SCALE_SIZE(DEFAULT_BUTTON_CIRCLE_SIZE), ELM_SCALE_SIZE(DEFAULT_BUTTON_CIRCLE_SIZE));
-
+               if (wifi_get_ug_type() == UG_VIEW_OOBE) {
+                       evas_object_color_set(icon, 0, 10, 10, 204);
+                       evas_object_size_hint_min_set(icon, ELM_SCALE_SIZE(DEFAULT_OOBE_BUTTON_CIRCLE_SIZE),
+                                       ELM_SCALE_SIZE(DEFAULT_OOBE_BUTTON_CIRCLE_SIZE));
+               } else {
+                       evas_object_color_set(icon, 2, 61, 132, 204);
+                       evas_object_size_hint_min_set(icon, ELM_SCALE_SIZE(DEFAULT_BUTTON_CIRCLE_SIZE),
+                                       ELM_SCALE_SIZE(DEFAULT_BUTTON_CIRCLE_SIZE));
+               }
        } else if (!strcmp("elm.swallow.end", part)) {
                if (VIEWER_ITEM_RADIO_MODE_CONNECTING == gdata->radio_mode ||
                                VIEWER_ITEM_RADIO_MODE_CONFIGURATION == gdata->radio_mode) {
@@ -212,6 +231,32 @@ static Evas_Object *_gl_content_scanning_icon_get(void *data, Evas_Object *obj,
        return title_progressbar;
 }
 
+static char *_gl_hidden_network_text_get(void *data, Evas_Object *obj,
+               const char *part)
+{
+       if (!strcmp("elm.text", part))
+               return g_strdup_printf("<font_size=%d>%s</font_size>",
+                               BIG_FONT_SIZE, sc(PACKAGE, I18N_TYPE_Find_Hidden_Network));
+
+       return NULL;
+}
+
+static Evas_Object *_gl_hidden_network_content_get(void *data, Evas_Object *obj,
+               const char *part)
+{
+       Evas_Object *icon = NULL;
+
+       if (!strcmp("elm.swallow.icon", part)) {
+               icon = elm_image_add(obj);
+               retvm_if(NULL == icon, NULL);
+               elm_image_file_set(icon, CUSTOM_EDITFIELD_PATH, "find_hidden_network.png");
+               evas_object_size_hint_min_set(icon, ELM_SCALE_SIZE(DEFAULT_OOBE_BUTTON_CIRCLE_SIZE),
+                               ELM_SCALE_SIZE(DEFAULT_OOBE_BUTTON_CIRCLE_SIZE));
+       }
+
+       return icon;
+}
+
 Elm_Object_Item* viewer_list_get_first_item(void)
 {
        return first_item;
@@ -597,7 +642,7 @@ void viewer_list_wifi_reconnect(wifi_device_info_t *device_info)
                /* TODO: finally parameter with wifi_manager_ap_h, WPA, EAP */
                ug_app_state->passpopup = create_passwd_popup(
                                ug_app_state->conformant,
-                               ug_app_state->layout_main, PACKAGE, &popup_info);
+                               ug_app_state->parent_layout, PACKAGE, &popup_info);
 
                if (ug_app_state->passpopup == NULL)
                        INFO_LOG(UG_NAME_ERR, "Fail to create password popup");
@@ -605,7 +650,7 @@ void viewer_list_wifi_reconnect(wifi_device_info_t *device_info)
                break;
        case WIFI_MANAGER_SECURITY_TYPE_EAP:
                ug_app_state->eap_view = create_eap_view(
-                               ug_app_state->layout_main, ugd->win_main,
+                               ug_app_state->parent_layout, ugd->win_main,
                                ug_app_state->conformant,
                                PACKAGE, device_info,
                                viewer_manager_eap_view_deref);
@@ -684,7 +729,7 @@ void viewer_list_wifi_connect(wifi_device_info_t *device_info)
 
        case WIFI_MANAGER_SECURITY_TYPE_EAP:
                ug_app_state->eap_view = create_eap_view(
-                               ug_app_state->layout_main, ugd->win_main,
+                               ug_app_state->parent_layout, ugd->win_main,
                                ug_app_state->conformant,
                                PACKAGE, device_info,
                                viewer_manager_eap_view_deref);
@@ -939,6 +984,14 @@ Evas_Object* viewer_list_create(Evas_Object *win)
        no_wifi_device_itc->func.state_get = NULL;
        no_wifi_device_itc->func.del = _gl_listview_del;
 
+       if (wifi_get_ug_type() == UG_VIEW_OOBE) {
+               last_item_itc = elm_genlist_item_class_new();
+               last_item_itc->item_style = WIFI_GENLIST_1LINE_TEXT_ICON_STYLE;
+               last_item_itc->func.text_get = _gl_hidden_network_text_get;
+               last_item_itc->func.content_get = _gl_hidden_network_content_get;
+               last_item_itc->func.del = NULL;
+       }
+
        first_item = last_item = NULL;
 
        evas_object_smart_callback_add(viewer_list, "realized",
@@ -1306,3 +1359,27 @@ Elm_Object_Item* item_get_for_ssid(const char *ssid)
 
        return it;
 }
+
+static void _hidden_network_cb(void* data, Evas_Object* obj, void* event_info)
+{
+    __COMMON_FUNC_ENTER__;
+
+    view_hidden_ap_popup_create(ug_app_state->parent_layout, PACKAGE);
+
+    __COMMON_FUNC_EXIT__;
+}
+
+void viewer_list_item_hidden_network_set(Elm_Object_Item *item)
+{
+       if (item == NULL)
+               return;
+
+       last_item = elm_genlist_item_append(viewer_list,
+                       last_item_itc, NULL, item,
+                       ELM_GENLIST_ITEM_NONE, _hidden_network_cb, NULL);
+
+       elm_genlist_item_select_mode_set(last_item,
+                       ELM_OBJECT_SELECT_MODE_ALWAYS);
+
+       elm_genlist_item_update(last_item);
+}