Replace "Select" key with "Return" 03/40403/3 accepted/tizen/tv/20150608.063657 submit/tizen/20150608.015802
authorShuhrat Dehkanov <sh.dehkanov@samsung.com>
Wed, 3 Jun 2015 10:24:51 +0000 (19:24 +0900)
committerShuhrat Dehkanov <sh.dehkanov@samsung.com>
Thu, 4 Jun 2015 03:21:02 +0000 (12:21 +0900)
"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 <password></password> markup from password
entry text.

Change-Id: I3dbc7dc3a31b1b31984f41cc92d521e92feade97

ug/network/edje/ug-network-settings.edc
ug/network/src/wifi_passcode_view.c

index 99ef21f..b354222 100644 (file)
@@ -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";
index e8a03b1..42bda01 100644 (file)
 #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);