[security,password] remove unused code
[apps/core/preloaded/settings.git] / setting-password / src / setting-password.c
index 41526db..cdbfb2a 100755 (executable)
 #include <setting-password.h>
 #include <security-server.h>
 
-#ifdef SUPPORT_MDM
-#include <Ecore_X.h>
-#include <utilX.h>
-#endif
-
 #ifndef UG_MODULE_API
 #define UG_MODULE_API __attribute__ ((visibility("default")))
 #endif
 
 static struct _pw_item pw_its[] = {
-       { SETTING_PW_TYPE_PASSWORD, "SETTING_PW_TYPE_PASSWORD" },
-       { SETTING_PW_TYPE_SET_PASSWORD, "SETTING_PW_TYPE_SET_PASSWORD" },
-       { SETTING_PW_TYPE_CHANGE_PASSWORD, "SETTING_PW_TYPE_CHANGE_PASSWORD" },
-       { SETTING_PW_TYPE_SIMPLE_PASSWORD, "SETTING_PW_TYPE_SIMPLE_PASSWORD" },
-       { SETTING_PW_TYPE_SET_SIMPLE_PASSWORD, "SETTING_PW_TYPE_SET_SIMPLE_PASSWORD" },
-       { SETTING_PW_TYPE_CHANGE_SIMPLE_PASSWORD, "SETTING_PW_TYPE_CHANGE_SIMPLE_PASSWORD" },
-       { SETTING_PW_TYPE_ENTER_LOCK_TYPE, "SETTING_PW_TYPE_ENTER_LOCK_TYPE" },
        { SETTING_PW_TYPE_SIM_LOCK_ON, "SETTING_PW_TYPE_SIM_LOCK_ON" },
        { SETTING_PW_TYPE_SIM_LOCK_OFF, "SETTING_PW_TYPE_SIM_LOCK_OFF" },
        { SETTING_PW_TYPE_PIN_LOCK_ON, "SETTING_PW_TYPE_PIN_LOCK_ON" },
@@ -47,11 +35,6 @@ static struct _pw_item pw_its[] = {
        { SETTING_PW_TYPE_PIN1_BLOCKED, "SETTING_PW_TYPE_PIN1_BLOCKED" },
        { SETTING_PW_TYPE_PIN2_BLOCKED, "SETTING_PW_TYPE_PIN2_BLOCKED" },
        { SETTING_PW_TYPE_RESET, "SETTING_PW_TYPE_RESET" },
-#ifdef SUPPORT_MDM
-       { SETTING_PW_TYPE_MDM_NEW_POLICY, "SETTING_PW_TYPE_MDM_NEW_POLICY" }, /*for mdm policy */
-       { SETTING_PW_TYPE_MDM_CHANGE_PASSWORD, "SETTING_PW_TYPE_MDM_CHANGE_PASSWORD" },
-       { SETTING_PW_TYPE_MDM_TO_SIMPLE, "SETTING_PW_TYPE_MDM_TO_SIMPLE" },
-#endif
        { SETTING_PW_TYPE_MAX, NULL }
 };
 
@@ -124,23 +107,7 @@ setting_pw_type __get_password_view_type(SettingPasswordUG *ad, service_h servic
        SETTING_TRACE_BEGIN;
 
        service_get_extra_data(service, "viewtype", &(ad->view_type_string));
-       service_get_extra_data(service, "current", &(ad->cur_pwd));
 
-       if(ad->cur_pwd)
-               SETTING_TRACE_DEBUG("Receive current : %s", ad->cur_pwd);
-#ifdef SUPPORT_MDM
-       char *status = NULL;
-       service_get_extra_data(service, "status", &status);
-       if(safeStrCmp(status, "expired") == 0)
-       {
-               ad->is_expired = SETTING_PW_STATUS_EXPIRED;
-       }
-       else
-       {
-               ad->is_expired = SETTING_PW_STATUS_OK;
-       }
-       SETTING_TRACE_DEBUG("is_expired : %d", ad->is_expired);
-#endif
        SETTING_TRACE("viewtype:%s", ad->view_type_string);
        setting_pw_type ret_pw_type = 0;
        int i;
@@ -154,124 +121,11 @@ setting_pw_type __get_password_view_type(SettingPasswordUG *ad, service_h servic
                }
        }
 
-       ad->is_empty = setting_password_is_password_empty();
-
-       /* exception handle */
-       if(ret_pw_type == SETTING_PW_TYPE_PASSWORD)
-       {
-               ret_pw_type = SETTING_PW_TYPE_SET_PASSWORD;
-       }
-       else if(ret_pw_type == SETTING_PW_TYPE_SIMPLE_PASSWORD)
-       {
-               ret_pw_type = SETTING_PW_TYPE_SET_SIMPLE_PASSWORD;
-       }
-       else if(ret_pw_type == SETTING_PW_TYPE_CHANGE_PASSWORD)
-       {
-               if(ad->is_empty == TRUE)
-               {
-                       ret_pw_type = SETTING_PW_TYPE_SET_PASSWORD;
-               }
-       }
-       else if(ret_pw_type == SETTING_PW_TYPE_CHANGE_SIMPLE_PASSWORD)
-       {
-               if(ad->is_empty == TRUE)
-               {
-                       ret_pw_type = SETTING_PW_TYPE_SET_SIMPLE_PASSWORD;
-               }
-       }
-       else if( ret_pw_type == SETTING_PW_TYPE_RESET )
-       {
-               if(ad->is_empty == TRUE)
-               {
-                       /* To do : check screen lock option key */
-                       if(ad->screen_lock_type == SETTING_SCREEN_LOCK_TYPE_PASSWORD)
-                               ret_pw_type = SETTING_PW_TYPE_SET_PASSWORD;
-                       else if(ad->screen_lock_type == SETTING_SCREEN_LOCK_TYPE_SIMPLE_PASSWORD)
-                               ret_pw_type = SETTING_PW_TYPE_SET_SIMPLE_PASSWORD;
-               }
-               else
-               {
-                       if(ad->screen_lock_type == SETTING_SCREEN_LOCK_TYPE_PASSWORD)
-                               ret_pw_type = SETTING_PW_TYPE_PASSWORD;
-                       else if(ad->screen_lock_type == SETTING_SCREEN_LOCK_TYPE_SIMPLE_PASSWORD)
-                               ret_pw_type = SETTING_PW_TYPE_SIMPLE_PASSWORD;
-               }
-       }
-       else if( ret_pw_type == SETTING_PW_TYPE_ENTER_LOCK_TYPE )
-       {
-               if(ad->screen_lock_type == SETTING_SCREEN_LOCK_TYPE_PASSWORD)
-                               ret_pw_type = SETTING_PW_TYPE_PASSWORD;
-               else if(ad->screen_lock_type == SETTING_SCREEN_LOCK_TYPE_SIMPLE_PASSWORD)
-                               ret_pw_type = SETTING_PW_TYPE_SIMPLE_PASSWORD;
-       }
-#ifdef SUPPORT_MDM
-       else if (ret_pw_type == SETTING_PW_TYPE_MDM_CHANGE_PASSWORD)
-       {
-               if((ad->is_empty == TRUE)
-                       || (ad->is_expired == SETTING_PW_STATUS_EXPIRED))
-               {
-                       ret_pw_type = SETTING_PW_TYPE_MDM_NEW_POLICY;
-               }
-       }
-#endif
        /* end */
 
        return ret_pw_type;
 }
 
-#if DISABLED_CODE
-static void setting_password_ug_set_password_cb(void *data, Evas_Object *obj,
-                                               void *event_info)
-{
-       /* error check */
-       retm_if(data == NULL, "Data parameter is NULL");
-
-       SettingPasswordUG *ad = (SettingPasswordUG *) data;
-
-       switch (btn_type(obj)) {
-       case POPUP_RESPONSE_OK:
-               {
-                       /*  creating a view. */
-                       setting_view_create(&setting_view_password_main, (void *)ad);
-                       evas_object_event_callback_add(ad->win_main_layout,
-                                                      EVAS_CALLBACK_RESIZE,
-                                                      setting_password_ug_cb_resize,
-                                                      ad);
-                       if (ad->setpw_notify)
-                       {
-                               evas_object_del(ad->setpw_notify);
-                               ad->setpw_notify = NULL;
-                       }
-               }
-               break;
-
-       case POPUP_RESPONSE_CANCEL:
-               {
-                       if (ad->setpw_notify)
-                       {
-                               evas_object_del(ad->setpw_notify);
-                               ad->setpw_notify = NULL;
-                       }
-
-                       /* send result : Cancel */
-                       service_h svc;
-                       if(service_create(&svc))
-                               return;
-
-                       service_add_extra_data(svc, "result", "Cancel");
-                       ug_send_result(ad->ug, svc);
-                       SETTING_TRACE("Send Result : %s\n", "Cancel");
-
-                       service_destroy(svc);
-
-                       ug_destroy_me(ad->ug);
-               }
-               break;
-       default:
-               break;
-       }
-}
-#endif
 static char *__gl_err_desc_text_get(void *data, Evas_Object *obj, const char *part)
 {
        retv_if(data == NULL, NULL);
@@ -282,102 +136,6 @@ static char *__gl_err_desc_text_get(void *data, Evas_Object *obj, const char *pa
        return strdup(buf);
 }
 
-#ifdef SUPPORT_MDM
-void setting_password_ug_display_mdm_desc(void *data, const char* guide_text)
-{
-       SETTING_TRACE_BEGIN;
-       ret_if(data == NULL || guide_text == NULL);
-
-       SettingPasswordUG *ad = (SettingPasswordUG *)data;
-
-       if(ad->mdm_desc != NULL)
-       {
-               elm_object_item_del(ad->mdm_desc);
-               ad->mdm_desc = NULL;
-       }
-
-       ad->guide_str = (char *)guide_text;
-
-       ad->mdm_desc = elm_genlist_item_append(ad->scroller, &(ad->itc_mdm_desc), ad, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
-       SETTING_TRACE_END;
-}
-
-static char *__gl_mdm_desc_text_get(void *data, Evas_Object *obj, const char *part)
-{
-       SETTING_TRACE_BEGIN;
-       retv_if(data == NULL, NULL);
-       char buf[MAX_DESC_BUF_SIZE] = {0,};
-
-       SettingPasswordUG *ad = (SettingPasswordUG *)data;
-
-       if(ad->mdm_policy == NULL)
-               return NULL;
-
-       if(ad->guide_str)
-               safeCopyStr(buf, ad->guide_str, MAX_DESC_BUF_SIZE);
-
-       SETTING_TRACE_END;
-       return strdup(buf);
-}
-
-static Eina_Bool __setting_password_ug_keydown_cb(void *data, int type, void *event)
-{
-       SETTING_TRACE_BEGIN;
-
-       Ecore_Event_Key *ev = event;
-
-       if(!strcmp(ev->keyname, KEY_END) || !strcmp(ev->keyname, KEY_SELECT))
-       {
-               SETTING_TRACE_DEBUG("event key name : %s", ev->keyname);
-               // nothing to do.
-       }
-       return ECORE_CALLBACK_DONE;
-}
-
-static void __setting_password_ug_key_grab(SettingPasswordUG *ad)
-{
-       SETTING_TRACE_BEGIN;
-       Ecore_X_Window xwin = 0;
-       Ecore_X_Display *disp = NULL;
-
-       int ret = 0;
-
-       if(ad == NULL)
-               return;
-
-       disp = ecore_x_display_get();
-       xwin = elm_win_xwindow_get((Evas_Object*)ug_get_window());
-
-       ret = utilx_grab_key(disp, xwin, KEY_SELECT, EXCLUSIVE_GRAB);
-       if(ret)
-               return;
-
-       ad->event_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, __setting_password_ug_keydown_cb, ad);
-       SETTING_TRACE_END;
-}
-static void __setting_password_ug_key_ungrab(SettingPasswordUG *ad)
-{
-       SETTING_TRACE_BEGIN;
-       Ecore_X_Window xwin = 0;
-       Ecore_X_Display *disp = NULL;
-
-       int ret = 0;
-
-       if(ad == NULL)
-               return;
-
-       disp = ecore_x_display_get();
-       xwin = elm_win_xwindow_get((Evas_Object*)ug_get_window());
-
-       ret = utilx_ungrab_key(disp, xwin, KEY_HOME);
-       if(ret)
-               return;
-
-       ecore_event_handler_del(ad->event_handler);
-}
-#endif
-
 static void *setting_password_ug_on_create(ui_gadget_h ug,
                                           enum ug_mode mode, service_h service,
                                           void *priv)
@@ -408,7 +166,6 @@ static void *setting_password_ug_on_create(ui_gadget_h ug,
        setting_set_i18n(SETTING_PACKAGE, SETTING_LOCALEDIR);
        FREE(pa_path);
 
-       setting_create_Gendial_itc("dialogue/title", &(passwordUG->itc_title));
        setting_create_Gendial_itc("dialogue/1icon",&(passwordUG->itc_variable_height));
        passwordUG->itc_seperator.item_style = "dialogue/separator/21/with_line";
        passwordUG->itc_seperator.func.text_get = NULL;
@@ -421,107 +178,11 @@ static void *setting_password_ug_on_create(ui_gadget_h ug,
        passwordUG->itc_err_desc.func.content_get = NULL;
        passwordUG->itc_err_desc.func.state_get = NULL;
        passwordUG->itc_err_desc.func.del = NULL;
-#ifdef SUPPORT_MDM
-       passwordUG->itc_mdm_desc.item_style = "multiline/1text";
-       passwordUG->itc_mdm_desc.func.text_get = __gl_mdm_desc_text_get;
-       passwordUG->itc_mdm_desc.func.content_get = NULL;
-       passwordUG->itc_mdm_desc.func.state_get = NULL;
-       passwordUG->itc_mdm_desc.func.del = NULL;
-#endif
-
-       /* get screen lock type */
-       if( vconf_get_int(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, &(passwordUG->screen_lock_type)) < 0) {
-               passwordUG->screen_lock_type = 0;
-       }
-       SETTING_TRACE_DEBUG("screen lock type : %d", passwordUG->screen_lock_type);
-
-       passwordUG->cur_pwd = NULL;
 
        /* init */
        passwordUG->view_type = __get_password_view_type(passwordUG, service);
        setting_tapi_init(passwordUG);
 
-#ifdef SUPPORT_MDM
-       /* To do : check for MDM server */
-       passwordUG->mdm_data = NULL;
-       passwordUG->mdm_policy = NULL;
-
-       passwordUG->mdm_status = mdm_get_service();
-
-       if(passwordUG->mdm_status == MDM_RESULT_SUCCESS)
-       {
-               passwordUG->mdm_data = mdm_get_password_policy();
-
-               passwordUG->mdm_policy = (mdm_password_policy_t*)(passwordUG->mdm_data->data);
-
-               if ((SETTING_PW_TYPE_MDM_NEW_POLICY == passwordUG->view_type) /* support mdm policy */
-                       || (SETTING_PW_TYPE_MDM_CHANGE_PASSWORD == passwordUG->view_type))
-               {
-                       if(passwordUG->mdm_policy != NULL)
-                       {
-                               if((passwordUG->mdm_policy->quality == MDM_PASSWORD_QUALITY_SOMETHING)
-                                       || (passwordUG->mdm_policy->quality == MDM_PASSWORD_QUALITY_NUMERIC))
-                               {
-                                       if( (passwordUG->view_type == SETTING_PW_TYPE_MDM_NEW_POLICY)
-                                               && (passwordUG->screen_lock_type == SETTING_SCREEN_LOCK_TYPE_SIMPLE_PASSWORD))
-                                       {
-                                               /*if only length is 0~4, apply simple password mode */
-                                               if(passwordUG->mdm_policy->min_length <= SETTING_PW_UG_NORMAL_PASSWORD_MIN_LENGTH)
-                                               {
-                                                       passwordUG->view_type = SETTING_PW_TYPE_MDM_TO_SIMPLE;
-                                               }
-                                               else
-                                               {
-                                                       if(vconf_set_bool(VCONFKEY_SETAPPL_STATE_SIMPLE_PASSWORD_BOOL, FALSE) != 0)
-                                                       {
-                                                               SETTING_TRACE_DEBUG("[ERROR] setting VCONFKEY_SETAPPL_STATE_SIMPLE_PASSWORD_BOOL failed");
-                                                       }
-                                               }
-                                       }
-                               }
-
-                               ecore_x_netwm_window_type_set(elm_win_xwindow_get(passwordUG->win_get), ECORE_X_WINDOW_TYPE_NOTIFICATION);
-                               utilx_set_system_notification_level(ecore_x_display_get(), elm_win_xwindow_get(passwordUG->win_get), UTILX_NOTIFICATION_LEVEL_NORMAL);
-
-                               /*  creating a view. */
-                               setting_view_create(&setting_view_password_main,(void *)passwordUG);
-                               evas_object_event_callback_add(passwordUG->win_main_layout,
-                                                                               EVAS_CALLBACK_RESIZE,
-                                                                               setting_password_ug_cb_resize,
-                                                                               passwordUG);
-                               __setting_password_ug_key_grab(passwordUG);
-
-                               return passwordUG->ly_main;
-                       }
-                       else
-                       {
-                               /* unexpected case */
-                               SETTING_TRACE_DEBUG("[ERROR] no policy");
-                               if (SETTING_PW_TYPE_MDM_NEW_POLICY == passwordUG->view_type)
-                                       passwordUG->view_type = SETTING_PW_TYPE_SET_PASSWORD;
-                               else if (SETTING_PW_TYPE_MDM_CHANGE_PASSWORD == passwordUG->view_type)
-                                       passwordUG->view_type = SETTING_PW_TYPE_CHANGE_PASSWORD;
-                       }
-               }
-               else
-               {
-                       SETTING_TRACE_DEBUG("[ERROR] failed to connect mdm server");
-               }
-       }
-#endif
-#ifdef SUPPORT_MDM
-       if (SETTING_PW_TYPE_CHANGE_PASSWORD == passwordUG->view_type)
-       {
-               // to do : if policy exist and quality is not unspecified,
-               //                      change view type to SETTING_PW_TYPE_MDM_CHANGE_PASSWORD
-               if((passwordUG->mdm_policy) && (passwordUG->mdm_policy->quality != MDM_PASSWORD_QUALITY_UNSPECIFIED))
-               {
-                       passwordUG->view_type = SETTING_PW_TYPE_MDM_CHANGE_PASSWORD;
-                       SETTING_TRACE_DEBUG("change view type to SETTING_PW_TYPE_MDM_CHANGE_PASSWORD");
-               }
-               // end
-       }
-#endif
        /*  creating a view. */
        setting_view_create(&setting_view_password_main,(void *)passwordUG);
        evas_object_event_callback_add(passwordUG->win_main_layout,
@@ -559,16 +220,6 @@ static void setting_password_ug_on_destroy(ui_gadget_h ug, service_h service, vo
                ecore_timer_del(passwordUG->remove_timer);
                passwordUG->remove_timer = NULL;
        }
-#ifdef SUPPORT_MDM
-       if(passwordUG->event_handler)
-       {
-               __setting_password_ug_key_ungrab(passwordUG);
-       }
-       if(passwordUG->mdm_status == MDM_RESULT_SUCCESS)
-       {
-               mdm_release_service();
-       }
-#endif
 
        /*  delete the allocated objects. */
        setting_view_destroy(&setting_view_password_main, passwordUG);
@@ -716,8 +367,9 @@ void setting_sim_verify_puks_cb(TapiHandle *handle, int result, void *data, void
 
        if (TAPI_SIM_PTYPE_PUK1 == sim_event_data->type)
        {
-               //if (TAPI_SIM_PIN_REQUIRED == sec_rt){
                if (TAPI_SIM_PIN_OPERATION_SUCCESS == sec_rt){
+                       SETTING_TRACE_DEBUG("SIM_PIN1_UNBLOCKED");
+                       safeCopyStr(ad->view_type_string, "SETTING_PW_TYPE_PIN1_UNBLOCKED", sizeof("SETTING_PW_TYPE_PIN1_UNBLOCKED")+1);
                        setting_password_ug_create_popup_notitle_nobtn(ad, _("Verfy PUK1 Sucessfully"), TRUE);
                        return;
                } else if (TAPI_SIM_PIN_INCORRECT_PASSWORD == sec_rt) {
@@ -730,8 +382,9 @@ void setting_sim_verify_puks_cb(TapiHandle *handle, int result, void *data, void
 
        else if (TAPI_SIM_PTYPE_PUK2 == sim_event_data->type)
        {
-               //if (TAPI_SIM_PUK_REQUIRED == sec_rt)
                if (TAPI_SIM_PIN_OPERATION_SUCCESS == sec_rt){
+                       SETTING_TRACE_DEBUG("SIM_PIN2_UNBLOCKED");
+                       safeCopyStr(ad->view_type_string, "SETTING_PW_TYPE_PIN2_UNBLOCKED", sizeof("SETTING_PW_TYPE_PIN2_UNBLOCKED")+1);
                        setting_password_ug_create_popup_notitle_nobtn(ad, _("Verfy PUK2 Sucessfully"), TRUE);
                        return;
                } else if (TAPI_SIM_PUK_INCORRECT_PASSWORD == sec_rt) {
@@ -814,6 +467,7 @@ void setting_sim_facility_disable_cb(TapiHandle *handle, int result, void *data,
 
        /*  Sim Lock  */
        if (TAPI_SIM_LOCK_PS == sim_event_data->type) {
+               SETTING_TRACE_DEBUG("SIM lOCK");
                if (TAPI_SIM_PIN_OPERATION_SUCCESS == sec_rt)
                        result_info.stat = SIM_LOCK_OFF_SUCCESS;
                else if (TAPI_SIM_PIN_INCORRECT_PASSWORD == sec_rt)
@@ -828,6 +482,7 @@ void setting_sim_facility_disable_cb(TapiHandle *handle, int result, void *data,
        }
        /*  Pin Lock */
        else if (TAPI_SIM_LOCK_SC == sim_event_data->type) {
+               SETTING_TRACE_DEBUG("PIN LOCK");
                if (TAPI_SIM_PIN_OPERATION_SUCCESS == sec_rt)
                        result_info.stat = SIM_PIN_LOCK_OFF_SUCCESS;
                else if (TAPI_SIM_PIN_INCORRECT_PASSWORD == sec_rt) {
@@ -902,14 +557,15 @@ static void setting_password_ug_display_result_popup(tapi_receive_info *result,
                                setting_retm_if(ret < 0, "snprintf fail");
                                ret_str = tmp_str;
                        } else {
-                               ret_str = _("IDS_ST_POP_INCORRECT_PIN1");
+                               int ret = snprintf(tmp_str, SETTING_STR_SLP_LEN, PIN_ERR_DESC, result->retry_cnt);
+                               setting_retm_if(ret < 0, "snprintf fail");
+                               ret_str = tmp_str;
+                               ret_str = _("IDS_ST_POP_INCORRECT_PIN1_ATTEMPT_LEFT");
                        }
                        ad->focus_data = ad->ed_pw1;
-#ifdef SUPPORT_POPUP
-                       setting_password_ug_create_popup_notitle_nobtn(ad, (char *)ret_str, FALSE);
-#else
+
                        setting_password_ug_display_desc(ad, (char *)ret_str, FALSE);
-#endif
+
                }
                break;
        case SIM_INCORRECT_PIN2_CODE:
@@ -923,14 +579,12 @@ static void setting_password_ug_display_result_popup(tapi_receive_info *result,
                                setting_retm_if(ret < 0, "snprintf fail");
                                ret_str = tmp_str;
                        } else {
-                               ret_str = _("IDS_ST_POP_INCORRECT_PIN2");
+                               ret_str = _("IDS_ST_POP_INCORRECT_PIN1_ATTEMPT_LEFT");
                        }
                        ad->focus_data = ad->ed_pw1;
-#ifdef SUPPORT_POPUP
-                       setting_password_ug_create_popup_notitle_nobtn(ad, ret_str, FALSE);
-#else
+
                        setting_password_ug_display_desc(ad, ret_str, FALSE);
-#endif
+
                }
                break;
        case SIM_INCORRECT_PUK1_CODE:
@@ -947,11 +601,9 @@ static void setting_password_ug_display_result_popup(tapi_receive_info *result,
                                ret_str = _("IDS_ST_POP_INCORRECT_PUK1_CODE");
                        }
                        ad->focus_data = ad->ed_pw1;
-#ifdef SUPPORT_POPUP
-                       setting_password_ug_create_popup_notitle_nobtn(ad, ret_str, FALSE);
-#else
+
                        setting_password_ug_display_desc(ad, ret_str, FALSE);
-#endif
+
                }
                break;
        case SIM_INCORRECT_PUK2_CODE:
@@ -967,11 +619,9 @@ static void setting_password_ug_display_result_popup(tapi_receive_info *result,
                                ret_str = _("IDS_ST_POP_INCORRECT_PUK2");
                        }
                        ad->focus_data = ad->ed_pw1;
-#ifdef SUPPORT_POPUP
-                       setting_password_ug_create_popup_notitle_nobtn(ad, ret_str, FALSE);
-#else
+
                        setting_password_ug_display_desc(ad, ret_str, FALSE);
-#endif
+
                }
                break;
        case SIM_PIN1_CHANGE_SUCCESS:
@@ -983,14 +633,22 @@ static void setting_password_ug_display_result_popup(tapi_receive_info *result,
                                                               _("IDS_ST_POP_PIN2_CHANGED"), TRUE);
                break;
        case SIM_PIN1_BLOCKED:
+               SETTING_TRACE_DEBUG("SIM_PIN1_BLOCKED");
+               ad->view_type = SETTING_PW_TYPE_PIN1_BLOCKED;
+               safeCopyStr(ad->view_type_string, "SETTING_PW_TYPE_PIN1_BLOCKED", safeStrLen("SETTING_PW_TYPE_PIN1_BLOCKED")+1);
                setting_password_ug_create_popup_notitle_nobtn(ad,
-                                                              _("IDS_ST_POP_PIN1_BLOCKED"), TRUE);
+                                                              _("IDS_ST_POP_PIN1_BLOCKED"), FALSE);
                break;
        case SIM_PIN2_BLOCKED:
+               SETTING_TRACE_DEBUG("SIM_PIN2_BLOCKED");
+               ad->view_type = SETTING_PW_TYPE_PIN2_BLOCKED;
+               safeCopyStr(ad->view_type_string, "SETTING_PW_TYPE_PIN2_BLOCKED", safeStrLen("SETTING_PW_TYPE_PIN2_BLOCKED")+1);
                setting_password_ug_create_popup_notitle_nobtn(ad,
-                                                              _("IDS_ST_POP_PIN2_BLOCKED"), TRUE);
+                                                              _("IDS_ST_POP_PIN2_BLOCKED"), FALSE);
                break;
        case SIM_PIN1_UNBLOCKED:
+               SETTING_TRACE_DEBUG("SIM_PIN1_UNBLOCKED");
+               safeCopyStr(ad->view_type_string, "SETTING_PW_TYPE_PIN_LOCK_ON", sizeof("SETTING_PW_TYPE_PIN_LOCK_ON")+1);
                setting_password_ug_create_popup_notitle_nobtn(ad,
                                                               _("IDS_ST_POP_PIN_UNBLOCKED"), TRUE);
                break;
@@ -1001,7 +659,7 @@ static void setting_password_ug_display_result_popup(tapi_receive_info *result,
        case SIM_PUK1_BLOCKED:
                setting_password_ug_create_popup_notitle_nobtn(ad,
                                       _("IDS_ST_BODY_PUK1_BLOCKED"), TRUE);
-               /*  Call Permernent UG */
+               /*  Phone blocked. Call Permernent UG */
                break;
        case SIM_PUK2_BLOCKED:
                setting_password_ug_create_popup_notitle_nobtn(ad,
@@ -1009,6 +667,10 @@ static void setting_password_ug_display_result_popup(tapi_receive_info *result,
                /*  Call Permernent UG */
                break;
        case SIM_REQUIRED_PUK_CODE:
+               SETTING_TRACE_DEBUG("SIM_REQUIRED_PUK_CODE");
+               safeCopyStr(ad->view_type_string, "SETTING_PW_TYPE_PIN1_BLOCKED", sizeof("SETTING_PW_TYPE_PIN1_BLOCKED")+1);
+               setting_password_ug_create_popup_notitle_nobtn(ad,
+                                      _("IDS_ST_POP_PIN1_BLOCKED"), TRUE);
                break;
        case SIM_OPERATION_UNAVAILABLE:
                setting_password_ug_create_popup_notitle_nobtn(ad,
@@ -1022,8 +684,26 @@ static void setting_password_ug_display_result_popup(tapi_receive_info *result,
        case SIM_REQ_PIN:
        case SIM_OPERATION_OFF:
        case SIM_LOCK_ON_FAIL:
+               SETTING_TRACE_DEBUG("SIM_LOCK_ON_FAIL");
+               {
+                       int err = SETTING_RETURN_SUCCESS;
+
+                       if(result->retry_cnt > 0)
+                       {
+                               setting_password_ug_display_desc(ad, PW_ERR_DESC, FALSE);
+                       }
+                       else
+                       {
+                               char tmp_str[SETTING_STR_SLP_LEN] = {0,};
+                               int ret = snprintf(tmp_str, SETTING_STR_SLP_LEN, PW_ERR_DELAY_DESC, PW_ERR_DELAY_TIME);
+                               safeCopyStr(ad->view_type_string, "SETTING_PW_TYPE_SIM_LOCK_DISABLE", sizeof("SETTING_PW_TYPE_SIM_LOCK_DISABLE")+1);
+                               setting_password_ug_create_popup_notitle_nobtn(ad, tmp_str, TRUE);
+                       }
+               }
        case SIM_PIN1_CHANGE_FAIL:
        case SIM_PIN2_CHANGE_FAIL:
+               setting_password_ug_create_popup_notitle_nobtn(ad,
+                                      _("Change Failed"), TRUE);
                break;
        default:
                break;
@@ -1054,9 +734,19 @@ void setting_password_ug_popup_resp_cb(void *data, Evas_Object *obj,
                ug_destroy_me(ad->ug);
        } else {
                char *diable_view_type = NULL;
-               //if (ad->disable_item_type == SETTING_PW_TYPE_PASSWORD) {
-               //      diable_view_type = "SETTING_PW_TYPE_PHONE_LOCK_DISABLE";
-               //} else
+               if (ad->view_type == SETTING_PW_TYPE_PIN1_BLOCKED)
+               {
+                       setting_view_destroy(&setting_view_password_main, ad);
+                       setting_view_create(&setting_view_password_main, ad);
+                       return;
+               }
+               else if (ad->view_type == SETTING_PW_TYPE_PIN2_BLOCKED)
+               {
+                       setting_view_destroy(&setting_view_password_main, ad);
+                       setting_view_create(&setting_view_password_main, ad);
+                       return;
+               }
+
                if (ad->disable_item_type == SETTING_PW_TYPE_SIM_LOCK_OFF) {
                        diable_view_type = "SETTING_PW_TYPE_SIM_LOCK_DISABLE";
                }
@@ -1116,9 +806,6 @@ static Eina_Bool __remove_desc(void *data)
                ug_destroy_me(ad->ug);
        } else {
                char *diable_view_type = NULL;
-               //if (ad->disable_item_type == SETTING_PW_TYPE_PASSWORD) {
-               //      diable_view_type = "SETTING_PW_TYPE_PHONE_LOCK_DISABLE";
-               //} else
                if (ad->disable_item_type == SETTING_PW_TYPE_SIM_LOCK_OFF) {
                        diable_view_type = "SETTING_PW_TYPE_SIM_LOCK_DISABLE";
                }
@@ -1196,213 +883,3 @@ setting_password_ug_create_popup_notitle_nobtn(void *data, char *str,
                                          POPUP_INTERVAL, FALSE, FALSE);
 }
 
-void setting_password_ug_check_attemps_left(void *data)
-{
-       ret_if(!data);
-       SettingPasswordUG *ad = (SettingPasswordUG *) data;
-
-       setting_int_slp_list item_attempts_left;
-       setting_str_slp_list item_lock_timestamp;
-       int attemps_left_max = 5;
-
-       if (ad->view_type == SETTING_PW_TYPE_PASSWORD) {
-               item_attempts_left = INT_SLP_SETTING_PHONE_LOCK_ATTEMPTS_LEFT;
-               item_lock_timestamp = STR_SLP_SETTING_PHONE_LOCK_TIMESTAMP;
-               attemps_left_max = PHONE_LOCK_ATTEMPS_MAX;
-       } else if (ad->view_type == SETTING_PW_TYPE_SIM_LOCK_OFF) {
-               item_attempts_left = INT_SLP_SETTING_SIM_LOCK_ATTEMPTS_LEFT;
-               item_lock_timestamp = STR_SLP_SETTING_SIM_LOCK_TIMESTAMP;
-               attemps_left_max = SIM_LOCK_ATTEMPS_MAX;
-       } else {
-               return;
-       }
-
-       int value = -1;
-       int err = SETTING_RETURN_SUCCESS;
-       setting_get_int_slp_key(item_attempts_left, &value, &err);
-       setting_retm_if(err == SETTING_RETURN_FAIL,
-                       "[Error] get value of vconf fail.");
-
-       value--;
-
-       if (value > 0 && value <= attemps_left_max) {
-               setting_set_int_slp_key(item_attempts_left, value, &err);
-               setting_retm_if(err == SETTING_RETURN_FAIL, "[Error] set value of vconf fail.");
-               char temp_str[MAX_SPECIALIZITION_LEN] = {0,};
-               char temp[MAX_SPECIALIZITION_LEN] ={0,};
-
-               if(value > 1)
-                       snprintf(temp, sizeof(temp), "%s. %s.", PW_ERR_DESC, ATTEMPTS_DESC);
-               else
-                       snprintf(temp, sizeof(temp), "%s. %s.", PW_ERR_DESC, ATTEMPT_DESC);
-
-               int ret = snprintf(temp_str, MAX_SPECIALIZITION_LEN, temp, value);
-
-               ret_if(ret < 0);
-
-#ifdef SUPPORT_POPUP
-               setting_password_ug_create_popup_notitle_nobtn(ad, temp_str, FALSE);
-#else
-               setting_password_ug_display_desc(ad, temp_str, FALSE);
-#endif
-       } else if (value == 0) {
-               /*  store the lock timestamp */
-               time_t cur_time = time(NULL);
-               char cur_timestamp[LOCK_TIMESTAMP_LEN] = { 0, };
-               int ret = snprintf(cur_timestamp, sizeof(cur_timestamp), "%ld", cur_time);
-               ret_if(ret < 0);
-
-               setting_set_string_slp_key(item_lock_timestamp, cur_timestamp, &err);
-               setting_retm_if(err == SETTING_RETURN_FAIL,
-                               "[Error] set value of vconf fail.");
-
-               setting_set_int_slp_key(item_attempts_left, value, &err);
-               setting_retm_if(err == SETTING_RETURN_FAIL,
-                               "[Error] set value of vconf fail.");
-
-               ad->disable_item_type = ad->view_type;
-
-               char temp[MAX_SPECIALIZITION_LEN] = {0,};
-               snprintf(temp, sizeof(temp), PW_ERR_DELAY_DESC, PW_ERR_DELAY_TIME);
-
-               setting_password_ug_create_popup_notitle_nobtn(ad, temp, FALSE);
-       } else {
-               setting_password_ug_create_popup_notitle_nobtn(ad,
-                                                              _("IDS_COM_POP_ERROR"), FALSE);
-       }
-
-}
-
-int setting_password_is_password_empty()
-{
-       SETTING_TRACE_BEGIN;
-       int ret = 0;
-       unsigned int attempt = 0;
-       unsigned int max_attempt = 0;
-       unsigned int expire_sec = 0;
-
-       ret = security_server_is_pwd_valid(&attempt, &max_attempt, &expire_sec);
-       SETTING_TRACE_DEBUG("status of password : %d", ret);
-
-       if(ret == SECURITY_SERVER_API_ERROR_NO_PASSWORD)
-               return SETTING_RETURN_SUCCESS;
-       else
-               return SETTING_RETURN_FAIL;
-}
-int setting_password_check_password(const char *challenge, unsigned int *remain_attempt, unsigned int *valid_sec)
-{
-       SETTING_TRACE_BEGIN;
-       retv_if(challenge == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
-
-       int inner_ret = 0;
-       int ret = 0;
-       unsigned int current_attempt = 0;
-       unsigned int max_attempt = 0;
-       unsigned int valid_secs = 0;
-
-       inner_ret = security_server_chk_pwd(challenge, &current_attempt, &max_attempt, &valid_secs);
-
-       SETTING_TRACE_DEBUG("chk password : %d", inner_ret);
-       SETTING_TRACE_DEBUG("current_attempt : %d, max_attempt : %d, valid_secs : %d secs", current_attempt, max_attempt, valid_secs);
-
-       if(inner_ret == SECURITY_SERVER_API_SUCCESS)
-       {
-               ret = SETTING_RETURN_SUCCESS;
-       }
-       else
-       {
-               if(remain_attempt != NULL)
-               {
-                       if(max_attempt > 0)
-                               *remain_attempt = max_attempt - current_attempt;
-       else
-                               *remain_attempt = ATTEMPT_INFINITE;     // infinite
-                       ret = SETTING_RETURN_FAIL;
-               }
-       }
-
-       if(valid_sec != NULL)
-               *valid_sec = valid_secs;
-
-       return ret;
-}
-#ifdef SUPPORT_MDM
-static Eina_Bool __set_history_cb(void *data)
-{
-       SETTING_TRACE_BEGIN;
-       retv_if(data == NULL, EINA_FALSE);
-
-       SettingPasswordUG *ad = (SettingPasswordUG *)data;
-
-       if(ad->mdm_policy)
-               security_server_set_pwd_history(ad->mdm_policy->history_cnt);
-
-       return EINA_FALSE;
-}
-#endif
-
-int setting_password_set_password(const char *cur_pwd, const char *new_pwd, void *data)
-{
-       SETTING_TRACE_BEGIN;
-       retv_if(new_pwd == NULL || data == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
-
-       SettingPasswordUG *ad = (SettingPasswordUG*)data;
-       int ret = 0;
-
-#ifdef SUPPORT_MDM
-       if((ad->view_type == SETTING_PW_TYPE_MDM_NEW_POLICY)
-               || (ad->view_type == SETTING_PW_TYPE_MDM_TO_SIMPLE))
-       {
-               if(cur_pwd)
-               {
-                       SETTING_TRACE_DEBUG("cur_pwd : %s, new_pwd : %s", cur_pwd, new_pwd);
-                       ret = security_server_set_pwd(cur_pwd, new_pwd, ad->mdm_policy->max_num_wipe, ad->mdm_policy->expire);
-
-                       if(ret == SECURITY_SERVER_API_ERROR_PASSWORD_REUSED)
-                       {
-                               SETTING_TRACE_DEBUG("[ERROR - security_server_set_pwd()] password reused");
-                       }
-                       else
-                       {
-                               SETTING_TRACE_DEBUG("[security_server_set_pwd()] returns %d", ret);
-                       }
-               }
-               else
-               {
-                       SETTING_TRACE_DEBUG("new_pwd : %s", new_pwd);
-                       ret = mdm_reset_password((char*)new_pwd);
-                       SETTING_TRACE_DEBUG("[mdm_reset_password()] returns %d", ret);
-               }
-
-               if((ret == MDM_RESULT_SUCCESS) || (ret == SECURITY_SERVER_API_SUCCESS))
-               {
-                       ad->set_history_timer = ecore_timer_add(1, (Ecore_Task_Cb)__set_history_cb, ad);
-                       return SETTING_RETURN_SUCCESS;
-               }
-               else
-               {
-                       return ret;
-               }
-       }
-       else
-#endif
-       {
-               /* max attempt count will be handled in passwordug for a while. */
-               if(cur_pwd == NULL || ad->is_empty == TRUE)
-               {
-                       ret = security_server_set_pwd(NULL, new_pwd, 0, PW_ERR_DELAY_TIME);
-                       SETTING_TRACE_DEBUG("new_pwd : %s", new_pwd);
-               }
-               else
-               {
-                       ret = security_server_set_pwd(cur_pwd, new_pwd, 0, PW_ERR_DELAY_TIME);
-                       SETTING_TRACE_DEBUG("cur_pwd : %s, new_pwd : %s", cur_pwd, new_pwd);
-               }
-               SETTING_TRACE_DEBUG("set password : %d", ret);
-
-               if(ret == SECURITY_SERVER_API_SUCCESS)
-                       return SETTING_RETURN_SUCCESS;
-               else
-                       return SETTING_RETURN_FAIL;
-       }
-}