Fixed JIRA issue - TSAM-9180, TSAM-9205 55/93455/1 accepted/tizen/3.0/tv/20161028.150609 accepted/tizen/tv/20161024.234003 submit/tizen/20161024.101000 submit/tizen_3.0/20161028.062323 submit/tizen_3.0/20161028.092424
authorHyerim Kim <rimi.kim@samsung.com>
Mon, 24 Oct 2016 09:56:49 +0000 (18:56 +0900)
committerHyerim Kim <rimi.kim@samsung.com>
Mon, 24 Oct 2016 09:56:49 +0000 (18:56 +0900)
 - When user screen is hide, unload user information.
 - change CHARACTER_PATTERN to include numeric character.

Change-Id: I68ea9514a144f075a4e0783a3fe3f5aff78b3f9e
Signed-off-by: Hyerim Kim <rimi.kim@samsung.com>
src/view/view_user.c
src/view/view_user_edit.c

index afa78ad..faa2e5e 100644 (file)
@@ -516,6 +516,7 @@ static void _hide(void *data)
 
        priv = data;
 
+       _unload_user(priv);
        _delete_popup(priv);
 
        evas_object_hide(priv->base);
index 55d640e..4e42bae 100755 (executable)
@@ -32,7 +32,7 @@
 #define MAX_BUF 128
 #define MAX_PHOTO 160
 
-#define CHARACTER_PATTERN "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+#define CHARACTER_PATTERN "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
 enum input_handler_type {
        INPUT_HANDLER_TYPE_PHOTO,
@@ -410,11 +410,37 @@ static void _add_icon_list(struct _priv *priv)
        priv->ctxpopup = ctxpopup;
 }
 
+static void _entry_text_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       const char *text = elm_entry_entry_get(obj);
+       char temp_buffer[1024] = {0, };
+       int length = strlen(text);
+       char temp[2] = {0, };
+
+       if (text != NULL && length > 0) {
+               strncpy(temp, text, 1);
+               temp[1] = '\0';
+       } else {
+               _DBG("text is null or length is 0");
+               return;
+       }
+
+       if (temp[0] >= '0' && temp[0] <= '9') {
+               if (length == 1)
+                       elm_entry_entry_set(obj, "");
+               else if (length > 1) {
+                       strncpy(temp_buffer, text+1 , length - 1);
+                       temp_buffer[length-1] = '\0';
+                       elm_entry_entry_set(obj, temp_buffer);
+               }
+       }
+}
+
 static Evas_Object *_add_layout(struct _priv *priv)
 {
        Evas_Object *ly, *photo, *name;
        Elm_Entry_Filter_Accept_Set name_char = {
-               .accepted = CHARACTER_PATTERN,
+               .accepted = CHARACTER_PATTERN
        };
 
        ly = utils_add_layout(priv->base, GRP_USER_EDIT_CONTENTS, false,
@@ -442,6 +468,8 @@ static Evas_Object *_add_layout(struct _priv *priv)
        priv->photo = photo;
        priv->name = name;
 
+       evas_object_smart_callback_add(priv->name, "changed", _entry_text_changed_cb, priv);
+
        return ly;
 err:
        _ERR("failed to add layout");