From 343c5ba1f919e2b0bb32bc4abc1867365dc617bd Mon Sep 17 00:00:00 2001 From: Shuhrat Dehkanov Date: Wed, 3 Jun 2015 19:24:51 +0900 Subject: [PATCH] Replace "Select" key with "Return" "Select" key is missing both from keyboard and remote controller. That's, use KEY_ENTER_REMOTE or KEY_ENTER to proceed with connection. This change also removes markup from password entry text. Change-Id: I3dbc7dc3a31b1b31984f41cc92d521e92feade97 --- ug/network/edje/ug-network-settings.edc | 4 +++ ug/network/src/wifi_passcode_view.c | 43 +++++++++++++++++++++------------ 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/ug/network/edje/ug-network-settings.edc b/ug/network/edje/ug-network-settings.edc index 99ef21f..b354222 100644 --- a/ug/network/edje/ug-network-settings.edc +++ b/ug/network/edje/ug-network-settings.edc @@ -1442,6 +1442,7 @@ collections { scale: 1; description { state: "default" 0.0; + fixed: 1 1; rel1.to: "bg"; rel2 { to: "bg"; @@ -1459,6 +1460,7 @@ collections { description { state: "default" 0.0; align: 0.0 0.0; + fixed: 1 1; rel1 { to: "progress_padding"; relative: 1.0 1.0; @@ -1479,6 +1481,7 @@ collections { scale: 1; description { state: "default" 0.0; + fixed: 1 1; rel1 { to: "progress_wheel"; relative: 1.0 0.0; @@ -1521,6 +1524,7 @@ collections { scale: 1; description { state: "default" 0.0; + fixed: 1 1; rel1.to: "bg"; rel2 { to: "bg"; diff --git a/ug/network/src/wifi_passcode_view.c b/ug/network/src/wifi_passcode_view.c index e8a03b1..42bda01 100644 --- a/ug/network/src/wifi_passcode_view.c +++ b/ug/network/src/wifi_passcode_view.c @@ -31,9 +31,16 @@ #include "wifi_mgr.h" #define KEY_PRIV "priv" -#define KEY_NETWORK_ENTER "Select" -#define AP_NAME_LENTH 256 +#define AP_NAME_LENGTH 256 + +/* + * TODO: should MIN_PWD_LENGTH be changed to 8? + * + * http://standards.ieee.org/getieee802/download/802.11i-2004.pdf, H.4.1: + * _A pass-phrase is a sequence of between 8 and 63 ASCII-encoded characters._ + */ +#define MIN_PWD_LENGTH 1 #define TXT_PASSCODE "Network passcode" #define TXT_ENTER_PASSCODE "Enter the network password" @@ -49,7 +56,7 @@ struct _priv { Evas_Object *entry; Evas_Object *dim_ly; Evas_Object *ctxpopup; - char ap_name[AP_NAME_LENTH + 1]; + char ap_name[AP_NAME_LENGTH + 1]; char *ap_pwd; }; @@ -675,7 +682,7 @@ static bool _wifi_found_ap_cb(wifi_ap_h ap, void *data) wifi_mgr_get_ap_info(ap, &ap_info); - if (!strncmp(priv->ap_name, ap_info.essid, AP_NAME_LENTH)) { + if (!strncmp(priv->ap_name, ap_info.essid, AP_NAME_LENGTH)) { ret = wifi_mgr_set_passphrase(ap, priv->ap_pwd); if (ret != RET_SUCCESS) { _ERR("wifi_mgr_set_passphrase() failed."); @@ -769,9 +776,10 @@ static void _entry_key_press_cb(void *data, Evas *e, Evas_Event_Key_Down *ev; struct _priv *priv; int ret; + char *pwd; if (!ei || !data) { - _ERR("ei or data is NULL"); + _ERR("Invalid parameter"); return; } @@ -783,24 +791,27 @@ static void _entry_key_press_cb(void *data, Evas *e, return; } - if (!strcmp(ev->keyname, KEY_NETWORK_ENTER)) { + if (!strcmp(ev->keyname, KEY_ENTER_REMOTE) + || !strcmp(ev->keyname, KEY_ENTER)) { + pwd = elm_entry_markup_to_utf8(elm_entry_entry_get(obj)); + if (!pwd || strlen(pwd) < MIN_PWD_LENGTH) { + _DBG("Invalid passcode is provided"); + free(pwd); + _show_invalid_pwd_popup(priv); + return; + } + if (priv->ap_pwd) { free(priv->ap_pwd); priv->ap_pwd = NULL; } - - priv->ap_pwd = strdup(elm_entry_entry_get(obj)); - if (!priv->ap_pwd) { - _ERR("the passcode in entry is NULL."); - _show_invalid_pwd_popup(priv); - return; - } + priv->ap_pwd = strdup(pwd); + free(pwd); ret = _wifi_connect_ap(priv); if (ret != RET_SUCCESS) { - _ERR("connect ap"); + _DBG("Connection failed"); _show_confirm_popup(priv); - return; } } } @@ -877,7 +888,7 @@ static Evas_Object *_create(struct viewmgr *vmgr, void *data) priv->vmgr = vmgr; ap_info = data; - strncpy(priv->ap_name, ap_info->essid, AP_NAME_LENTH); + strncpy(priv->ap_name, ap_info->essid, AP_NAME_LENGTH); base = util_add_layout(priv->win, UG_NETWORK_EDJ_FILE, GRP_WIFI_PASSCODE_BASE); -- 2.7.4