/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.tizenopensource.org/license
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
+ * setting
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
+ *
+ * Contact: MyoungJune Park <mj2004.park@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
#include <setting-password.h>
+//#include <security-server.h>
+
#ifndef UG_MODULE_API
#define UG_MODULE_API __attribute__ ((visibility("default")))
#endif
-static tapi_request_event tapi_req_events[] = {
- {-1, TAPI_EVENT_SIM_CHANGE_PINS_CNF},
- {-1, TAPI_EVENT_SIM_DISABLE_SEC_CNF},
- {-1, TAPI_EVENT_SIM_ENABLE_SEC_CNF},
- {-1, TAPI_EVENT_SIM_VERIFY_SEC_CNF},
- {-1, TAPI_EVENT_SIM_VERIFY_PUK_CNF},
- {-1, TAPI_EVENT_SIM_DISABLE_FDNMODE_CNF},
- {-1, TAPI_EVENT_SIM_ENABLE_FDNMODE_CNF},
- {-1, TAPI_EVENT_SIM_ENABLE_PERS_CNF},
- {-1, TAPI_EVENT_SIM_DISABLE_PERS_CNF},
- {-1, TAPI_EVENT_SIM_PERS_STATUS_CNF},
-};
-
static struct _pw_item pw_its[] = {
- { SETTING_PW_TYPE_POWER_ON_LOCK, "SETTING_PW_TYPE_POWER_ON_LOCK" },
- { SETTING_PW_TYPE_PHONE_LOCK, "SETTING_PW_TYPE_PHONE_LOCK" },
- { SETTING_PW_TYPE_PHONE_LOCK_ON, "SETTING_PW_TYPE_PHONE_LOCK_ON" },
- { SETTING_PW_TYPE_SET_PASSWORD, "SETTING_PW_TYPE_SET_PASSWORD" },
- { SETTING_PW_TYPE_SIMPLE_PASSWORD, "SETTING_PW_TYPE_SIMPLE_PASSWORD" },
- { SETTING_PW_TYPE_CHANGE_PASSWORD, "SETTING_PW_TYPE_CHANGE_PASSWORD" },
{ 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" },
{ SETTING_PW_TYPE_PIN_LOCK_OFF, "SETTING_PW_TYPE_PIN_LOCK_OFF" },
{ SETTING_PW_TYPE_CHANGE_PIN1, "SETTING_PW_TYPE_CHANGE_PIN1" },
- { SETTING_PW_TYPE_FDN_MODE_ON, "SETTING_PW_TYPE_FDN_MODE_ON" },
- { SETTING_PW_TYPE_FDN_MODE_OFF, "SETTING_PW_TYPE_FDN_MODE_OFF" },
{ SETTING_PW_TYPE_CHANGE_PIN2, "SETTING_PW_TYPE_CHANGE_PIN2" },
{ 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" },
- { SETTING_PW_TYPE_CLEAR, "SETTING_PW_TYPE_CLEAR"},
- { SETTING_PW_TYPE_LOCK_FOR_APP, "SETTING_PW_TYPE_LOCK_FOR_APP"}, /* used by other app */
{ SETTING_PW_TYPE_MAX, NULL }
};
static void setting_tapi_init(SettingPasswordUG *ad);
static void setting_password_ug_display_result_popup(tapi_receive_info *result, SettingPasswordUG *ad);
-static int setting_password_ug_sim_event_callback(const TelTapiEvent_t *event, void *data);
static void setting_password_ug_cb_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
case SETTING_PW_TYPE_PIN_LOCK_OFF:
case SETTING_PW_TYPE_CHANGE_PIN1:
case SETTING_PW_TYPE_CHANGE_PIN2:
- case SETTING_PW_TYPE_FDN_MODE_ON:
- case SETTING_PW_TYPE_FDN_MODE_OFF:
case SETTING_PW_TYPE_PIN1_BLOCKED:
case SETTING_PW_TYPE_PIN2_BLOCKED:
- /* subscribe tapi events */
- if (setting_password_ug_subscribe_sim_events(ad) != SETTING_RETURN_SUCCESS) {
- SETTING_TRACE_DEBUG
- ("%s*** [ERR] setting_security_subscribe_sim_events. ***%s",
+ ad->handle = tel_init(NULL);
+ if (!ad->handle) {
+ SETTING_TRACE_DEBUG("%s*** [ERR] tel_init. ***%s",
SETTING_FONT_RED, SETTING_FONT_BLACK);
setting_password_ug_create_popup_notitle_nobtn(ad,
_("IDS_COM_POP_ERROR"),
FALSE);
}
+
break;
default:
break;
case SETTING_PW_TYPE_PIN_LOCK_OFF:
case SETTING_PW_TYPE_CHANGE_PIN1:
case SETTING_PW_TYPE_CHANGE_PIN2:
- case SETTING_PW_TYPE_FDN_MODE_ON:
- case SETTING_PW_TYPE_FDN_MODE_OFF:
case SETTING_PW_TYPE_PIN1_BLOCKED:
case SETTING_PW_TYPE_PIN2_BLOCKED:
- /* unsubscribe tapi events */
- if (setting_password_ug_unsubscribe_sim_events(ad) != SETTING_RETURN_SUCCESS) {
+ if (tel_deinit(ad->handle) != TAPI_API_SUCCESS) {
SETTING_TRACE_DEBUG
- ("%s*** [ERR] setting_security_subscribe_sim_events. ***%s",
+ ("%s*** [ERR] setting_network_unsubscribe_tapi_events. ***%s",
SETTING_FONT_RED, SETTING_FONT_BLACK);
setting_password_ug_create_popup_notitle_nobtn(ad,
_("IDS_COM_POP_ERROR"),
SETTING_TRACE_END;
}
-setting_pw_type __get_password_view_type(SettingPasswordUG *ad, bundle *data)
+setting_pw_type __get_password_view_type(SettingPasswordUG *ad, service_h service)
{
SETTING_TRACE_BEGIN;
- setting_retvm_if(NULL == data, -1, "NULL == data");
- ad->view_type_string = bundle_get_val(data, "viewtype");
+
+ service_get_extra_data(service, "viewtype", &(ad->view_type_string));
+
SETTING_TRACE("viewtype:%s", ad->view_type_string);
setting_pw_type ret_pw_type = 0;
int i;
{
ret_pw_type = pw_its[i].pw_type_num;
break;
- }
- }
-
- if( (ret_pw_type == SETTING_PW_TYPE_PHONE_LOCK) ||
- (ret_pw_type == SETTING_PW_TYPE_SIMPLE_PASSWORD) ||
- (ret_pw_type == SETTING_PW_TYPE_LOCK_FOR_APP) ||
- (ret_pw_type == SETTING_PW_TYPE_CHANGE_PASSWORD) ||
- (ret_pw_type == SETTING_PW_TYPE_RESET) )
- {
- if(setting_password_is_password_empty() == TRUE)
- {
- ret_pw_type = SETTING_PW_TYPE_SET_PASSWORD;
}
}
- return ret_pw_type;
-}
+ /* end */
-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;
- }
-
- ug_destroy_me(ad->ug);
- }
- break;
- default:
- break;
- }
+ return ret_pw_type;
}
static char *__gl_err_desc_text_get(void *data, Evas_Object *obj, const char *part)
char buf[256] = {0,};
snprintf(buf, sizeof(buf)-1, "<font color=#ff0000>%s</font>", (char*)data);
-
+
return strdup(buf);
}
-static void *setting_password_ug_on_create(struct ui_gadget *ug,
- enum ug_mode mode, bundle *data,
+static void *setting_password_ug_on_create(ui_gadget_h ug,
+ enum ug_mode mode, service_h service,
void *priv)
{
- setting_retvm_if((!ug || !priv), NULL, "!ug || !priv");
+ setting_retvm_if((!priv), NULL, "!priv");
SettingPasswordUG *passwordUG = (SettingPasswordUG *)priv;
passwordUG->ug = ug;
return NULL;
}
/* set launguage */
- setlocale(LC_ALL, "");
- bindtextdomain(SETTING_PACKAGE, SETTING_LOCALEDIR);
+ 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.item_style = "dialogue/separator";
passwordUG->itc_seperator.func.text_get = NULL;
passwordUG->itc_seperator.func.content_get = NULL;
passwordUG->itc_seperator.func.state_get = NULL;
passwordUG->itc_err_desc.func.del = NULL;
/* init */
- ecore_imf_init();
- passwordUG->view_type = __get_password_view_type(passwordUG, data);
+ passwordUG->view_type = __get_password_view_type(passwordUG, service);
setting_tapi_init(passwordUG);
- /* get simple password flag */
- if(vconf_get_bool(VCONFKEY_SETAPPL_STATE_SIMPLE_PASSWORD_BOOL, &(passwordUG->is_simple_password_on)) < 0)
- passwordUG->is_simple_password_on = 0;
-
- SETTING_TRACE_DEBUG("simple password is %d", passwordUG->is_simple_password_on);
-
- if (SETTING_PW_TYPE_SET_PASSWORD == passwordUG->view_type)
- {
- if( strcmp(passwordUG->view_type_string, "SETTING_PW_TYPE_RESET") == 0)
- { /* no need to set password, in this case.*/
- bundle *b = bundle_create();
- if (!b)
- return NULL;
-
- bundle_add(b, "result", passwordUG->view_type_string);
- ug_send_result(passwordUG->ug, b);
- SETTING_TRACE("Send Result : %s\n", passwordUG->view_type_string);
- bundle_free(b);
- /* Send destroy request */
- ug_destroy_me(passwordUG->ug);
- }
- /* Make a popup */
- passwordUG->setpw_notify = setting_create_popup_with_btn(passwordUG,
- (Evas_Object *) ug_get_window(),
- _("IDS_ST_POP_NO_PASSWORD_SET_PASSWORD_Q"),
- NULL,
- setting_password_ug_set_password_cb,
- 0, 2, _("IDS_COM_SK_YES"),_("IDS_COM_SK_NO"));
-
- /* Make a Layout */
- passwordUG->ly_main = elm_layout_add(passwordUG->win_main_layout);
- if (passwordUG->ly_main == NULL)
- return NULL;
- evas_object_hide(passwordUG->ly_main);
-
- return passwordUG->ly_main;
- } else {
- /* creating a view. */
- setting_view_create(&setting_view_password_main,(void *)passwordUG);
- evas_object_event_callback_add(passwordUG->win_main_layout,
+ /* 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);
- return passwordUG->ly_main;
- }
+ return passwordUG->ly_main;
}
-static void setting_password_ug_on_start(struct ui_gadget *ug, bundle *data, void *priv)
+static void setting_password_ug_on_start(ui_gadget_h ug, service_h service, void *priv)
{
- SettingPasswordUG *passwordUG = (SettingPasswordUG *)priv;
-
- /* handle focus of entry */
- if(passwordUG->sp_entry1 != NULL)
- {
- SETTING_TRACE_DEBUG("sp_entry1 is exist.");
- elm_object_focus_set(passwordUG->sp_entry1, EINA_TRUE);
- passwordUG->sp_focused = passwordUG->sp_entry1;
- }
}
-static void setting_password_ug_on_pause(struct ui_gadget *ug, bundle *data, void *priv)
+static void setting_password_ug_on_pause(ui_gadget_h ug, service_h service, void *priv)
{
}
-static void setting_password_ug_on_resume(struct ui_gadget *ug, bundle *data, void *priv)
+static void setting_password_ug_on_resume(ui_gadget_h ug, service_h service, void *priv)
{
}
-static void setting_password_ug_on_destroy(struct ui_gadget *ug, bundle *data, void *priv)
+static void setting_password_ug_on_destroy(ui_gadget_h ug, service_h service, void *priv)
{
SettingPasswordUG *passwordUG = (SettingPasswordUG *)priv;
if (passwordUG->t_info) {
FREE(passwordUG->t_info);
}
-
if(passwordUG->remove_timer)
{
ecore_timer_del(passwordUG->remove_timer);
passwordUG->remove_timer = NULL;
}
-
- /* release */
- ecore_imf_shutdown();
/* delete the allocated objects. */
setting_view_destroy(&setting_view_password_main, passwordUG);
}
}
-static void setting_password_ug_on_message(struct ui_gadget *ug, bundle *msg,
- bundle *data, void *priv)
+static void setting_password_ug_on_message(ui_gadget_h ug, service_h msg,
+ service_h service, void *priv)
{
}
-static void setting_password_ug_on_event(struct ui_gadget *ug,
- enum ug_event event, bundle *data,
+static void setting_password_ug_on_event(ui_gadget_h ug,
+ enum ug_event event, service_h service,
void *priv)
{
+ if (!priv)
+ return;
+
+ SettingPasswordUG *ad = (SettingPasswordUG*)priv;
+
switch (event) {
case UG_EVENT_LOW_MEMORY:
break;
case UG_EVENT_LANG_CHANGE:
break;
case UG_EVENT_ROTATE_PORTRAIT:
- break;
case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
- break;
case UG_EVENT_ROTATE_LANDSCAPE:
- break;
case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
+ /* Focus entry */
+ SETTING_TRACE_DEBUG("get rotation event");
+ if(ad->ed_pw1)
+ {
+ if (ad->ed_pw1->isFocusFlag || (ad->ed_pw1->eo_check != NULL))
+ {
+ SETTING_TRACE_DEBUG("set focus");
+ /* no matter how many edifileds, it only need focus on 1st editfiled */
+ elm_object_focus_set(ad->ed_pw1->eo_check, EINA_TRUE);
+ elm_entry_cursor_end_set(ad->ed_pw1->eo_check);
+ }
+ }
+
break;
case UG_EVENT_REGION_CHANGE:
break;
}
}
-static void setting_password_ug_on_key_event(struct ui_gadget *ug,
+static void setting_password_ug_on_key_event(ui_gadget_h ug,
enum ug_key_event event,
- bundle *data, void *priv)
+ service_h service, void *priv)
{
- if (!ug || !priv)
+ if (!priv)
return;
SettingPasswordUG *ad = (SettingPasswordUG*)priv;
ops->priv = passwordUG;
ops->opt = UG_OPT_INDICATOR_ENABLE;
+ memset(passwordUG, 0x00, sizeof(SettingPasswordUG));
+
return 0;
}
UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops)
{
+ SETTING_TRACE_BEGIN;
struct SettingPasswordUG *passwordUG;
setting_retm_if(!ops, "ops == NULL");
FREE(passwordUG);
}
-int setting_password_ug_subscribe_sim_events(SettingPasswordUG *ad)
+void setting_get_sim_lock_info_cb(TapiHandle *handle, int result, void *data, void *user_data)
{
- int i = 0;
- int ret = SETTING_RETURN_SUCCESS;
- int tapi_ret = TAPI_API_SUCCESS;
- tapi_request_tapi_info *t_info;
-
- if (tel_init() != TAPI_API_SUCCESS) {
- SETTING_TRACE_DEBUG("%s*** [ERR] tel_init. ***%s",
- SETTING_FONT_RED, SETTING_FONT_BLACK);
- return SETTING_TAPI_INIT_ECORE_ERR;
- }
+ SETTING_TRACE_BEGIN;
+ ret_if(data == NULL || user_data == NULL);
- SETTING_TRACE_DEBUG("Tapi Init : %d", tapi_ret);
+ TelSimPinOperationResult_t sec_rt = result;
+ TelSimLockInfo_t *lock = data;
- t_info = calloc(1, sizeof(tapi_request_tapi_info));
+ SettingPasswordUG *ad = (SettingPasswordUG *)user_data;
- if (NULL == t_info) {
- SETTING_TRACE_DEBUG("Tapi calloc data error\n");
- return SETTING_RETURN_FAIL;
- }
+ SETTING_TRACE_DEBUG("sec_ret[%d], lock_type[%d], lock_status[%d], retry_count[%d]", sec_rt, lock->lock_type, lock->lock_status, lock->retry_count);
- t_info->evt = tapi_req_events;
- t_info->evt_sz = sizeof(tapi_req_events) / sizeof(tapi_req_events[0]);
- t_info->cb = NULL;
- t_info->cb_data = NULL;
-
- SETTING_TRACE_DEBUG("Tapi Info Size : %d", t_info->evt_sz);
- for (i = 0; i < t_info->evt_sz; i++) {
- tapi_ret =
- tel_register_event(t_info->evt[i].event,
- &(t_info->evt[i].sid),
- (TelAppCallback) &
- setting_password_ug_sim_event_callback,
- ad);
- SETTING_TRACE_DEBUG
- ("TAPI Register Return : %d Event : %d sid: %d", tapi_ret,
- t_info->evt[i].event, t_info->evt[i].sid);
+ char temp[256] ={0,};
+ if(lock->retry_count > 1)
+ snprintf(temp, 256, _(ATTEMPTS_DESC), lock->retry_count);
+ else if(lock->retry_count > 0)
+ snprintf(temp, 256, _(ATTEMPT_DESC), lock->retry_count);
+
+ if(ad->err_desc)
+ {
+ elm_object_item_del(ad->err_desc);
+ ad->err_desc = NULL;
}
- if (TAPI_API_SUCCESS == tapi_ret) {
- tapi_ret = tel_register_app_name("org.tizen.setting");
+ ad->err_desc = elm_genlist_item_append(ad->scroller, &(ad->itc_err_desc), temp, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+}
- if (tapi_ret != TAPI_API_SUCCESS) {
- SETTING_TRACE_DEBUG
- ("%s*** [ERR] tel_register_app_name. ***%s",
- SETTING_FONT_RED, SETTING_FONT_BLACK);
- FREE(t_info); /* memory leak */
- return SETTING_TAPI_REG_EVENT_ECORE_ERR;
- }
+void setting_get_pin_lock_info_cb(TapiHandle *handle, int result, void *data, void *user_data)
+{
+ SETTING_TRACE_BEGIN;
+
+ TelSimPinOperationResult_t sec_rt = result;
+ TelSimLockInfo_t *lock = data;
+
+ SettingPasswordUG *ad = (SettingPasswordUG *)user_data;
+
+ SETTING_TRACE_DEBUG("sec_ret[%d], lock_type[%d], lock_status[%d], retry_count[%d]", sec_rt, lock->lock_type, lock->lock_status, lock->retry_count);
+
+ char temp[256] ={0,};
+ if(lock->retry_count > 1)
+ snprintf(temp, 256, _(ATTEMPTS_DESC), lock->retry_count);
+ else if(lock->retry_count > 0)
+ snprintf(temp, 256, _(ATTEMPT_DESC), lock->retry_count);
+
+ if(ad->err_desc)
+ {
+ elm_object_item_del(ad->err_desc);
+ ad->err_desc = NULL;
}
- ad->t_info = t_info;
- return ret;
+
+ ad->err_desc = elm_genlist_item_append(ad->scroller, &(ad->itc_err_desc), temp, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
}
-int setting_password_ug_unsubscribe_sim_events(SettingPasswordUG *ad)
+void setting_sim_change_pins_cb(TapiHandle *handle, int result, void *data, void *user_data)
{
- retv_if(ad == NULL, SETTING_GENERAL_ERR_WRONG_PARAMETER);
-
- int i = 0;
- int ret = SETTING_RETURN_SUCCESS;
- int tapi_ret = TAPI_API_SUCCESS;
-
- if (ad->t_info) {
- tapi_request_tapi_info *t_info = ad->t_info;
- SETTING_TRACE("T_INFO size : %d\n", t_info->evt_sz);
- for (i = 0; i < t_info->evt_sz; i++) {
- if (t_info->evt[i].sid == -1)
- continue;
-
- /* tapi_ret = tel_deregister_event_at_ecore_loop(t_info->evt[i].sid); */
- tapi_ret = tel_deregister_event(t_info->evt[i].sid);
- if (tapi_ret != TAPI_API_SUCCESS) {
- SETTING_TRACE_DEBUG
- ("%s*** [ERR] tel_deregister_event. %dth , sid =%d, tapi_ret=%d ***%s\n",
- SETTING_FONT_RED, i, t_info->evt[i].sid,
- tapi_ret, SETTING_FONT_BLACK);
- return SETTING_TAPI_DEREG_EVENT_ECORE_ERR;
- break;
- } else {
- SETTING_TRACE
- ("Event unregistering succeeded [%dth : %d] [subscription ID: %d]",
- i, t_info->evt[i].event,
- t_info->evt[i].sid);
- }
+ SETTING_TRACE_BEGIN;
+ ret_if(!user_data || !data);
+ TelSimPinOperationResult_t sec_rt = result;
+ tapi_receive_info result_info = { 0, };
+ TelSimSecResult_t *sim_event_data = (TelSimSecResult_t *) data;
+ SETTING_TRACE("sec_rt[%d]", sec_rt);
+ SETTING_TRACE("sim_event_data->type:%d", sim_event_data->type);
+ SETTING_TRACE("sim_event_data->retry_count[%d]", sim_event_data->retry_count);
+
+ if (TAPI_SIM_PIN_OPERATION_SUCCESS == sec_rt) {
+ if (TAPI_SIM_PTYPE_PIN1 == sim_event_data->type)
+ result_info.stat = SIM_PIN1_CHANGE_SUCCESS;
+ else if (TAPI_SIM_PTYPE_PIN2 == sim_event_data->type)
+ result_info.stat = SIM_PIN2_CHANGE_SUCCESS;
+ } else if (TAPI_SIM_PIN_INCORRECT_PASSWORD == sec_rt) {
+ if (TAPI_SIM_PTYPE_PIN1 == sim_event_data->type) {
+ result_info.stat = SIM_INCORRECT_PIN1_CODE;
+ result_info.retry_cnt = sim_event_data->retry_count;
+ } else if (TAPI_SIM_PTYPE_PIN2 == sim_event_data->type) {
+ result_info.stat = SIM_INCORRECT_PIN2_CODE;
+ result_info.retry_cnt = sim_event_data->retry_count;
}
- FREE(ad->t_info);
- }
-
- tapi_ret = tel_deinit();
- if (tapi_ret != TAPI_API_SUCCESS) {
- SETTING_TRACE_DEBUG("%s*** [ERR] tel_deinit. tapi_ret=%d ***%s",
- SETTING_FONT_RED, tapi_ret,
- SETTING_FONT_BLACK);
- return SETTING_TAPI_DEREG_EVENT_ECORE_ERR;
+ } else if (TAPI_SIM_PUK_REQUIRED == sec_rt) {
+ if (TAPI_SIM_PTYPE_PIN1 == sim_event_data->type)
+ result_info.stat = SIM_PIN1_BLOCKED;
+ else if (TAPI_SIM_PTYPE_PIN2 == sim_event_data->type)
+ result_info.stat = SIM_PIN2_BLOCKED;
+ } else {
+ SETTING_TRACE_DEBUG
+ ("%s*** [ERR] INCORRECTED ***%s",
+ SETTING_FONT_RED, SETTING_FONT_BLACK);
+ return;
}
- return ret;
+ setting_password_ug_display_result_popup(&result_info, user_data);
}
-#ifdef Status
-#undef Status
-#endif
-
-static int
-setting_password_ug_sim_event_callback(const TelTapiEvent_t *event, void *data)
+void setting_sim_verify_puks_cb(TapiHandle *handle, int result, void *data, void *user_data)
{
- retv_if(data == NULL || event == NULL, SETTING_GENERAL_ERR_WRONG_PARAMETER);
- SETTING_TRACE("event->EventClass=\t%d", (int)(event->EventClass));
- SETTING_TRACE("event->EventType=\t%d", event->EventType);
- SETTING_TRACE("event->Status=\t%d", event->Status);
- SETTING_TRACE("event->RequestId=\t%d", event->RequestId);
- SettingPasswordUG *ad = data;
+ SETTING_TRACE_BEGIN;
+ ret_if(!user_data || !data);
+ SettingPasswordUG *ad = user_data;
+ TelSimPinOperationResult_t sec_rt = result;
tapi_receive_info result_info = { 0, };
- TelSimSecResult_t *sim_event_data = NULL;
- sim_event_data = (TelSimSecResult_t *) event->pData;
+ TelSimSecResult_t *sim_event_data = (TelSimSecResult_t *) data;
+ ad->verify_puks_result = sim_event_data;
+ SETTING_TRACE("sec_rt[%d]", sec_rt);
+ SETTING_TRACE("sim_event_data->type:%d", sim_event_data->type);
+ SETTING_TRACE("sim_event_data->retry_count[%d]", sim_event_data->retry_count);
- if (TAPI_EVENT_CLASS_SIM != event->EventClass || NULL == sim_event_data) {
- SETTING_TRACE_DEBUG
- ("EventClass is not EVENT_CLASS_SIM or sim_event_data is NULL!\n");
- SETTING_TRACE_DEBUG("sim_event_data %p\n", sim_event_data);
- return SETTING_RETURN_FAIL;
+ 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) {
+ result_info.stat = SIM_INCORRECT_PUK1_CODE;
+ result_info.retry_cnt = sim_event_data->retry_count;
+ } else {
+ result_info.stat = SIM_UNKNOWN_ERROR;
+ }
}
- switch (event->EventType) {
- /* Lock ON */
- case TAPI_EVENT_SIM_ENABLE_SEC_CNF:
- {
- SETTING_TRACE
- ("CASE: TAPI_EVENT_SIM_ENABLE_SEC_CNF [Event Data Type: %d]",
- sim_event_data->type);
-
- /* Sim Lock */
- if (TAPI_SIM_PTYPE_SIM == sim_event_data->type) {
- if (TAPI_SIM_PIN_OPERATION_SUCCESS == event->Status)
- result_info.stat = SIM_LOCK_ON_SUCCESS;
- else if (TAPI_SIM_PIN_INCORRECT_PASSWORD == event->Status)
- result_info.stat = SIM_LOCK_INCORRECT_PASSWORD;
- else {
- SETTING_TRACE_DEBUG("%s*** [ERR] INCORRECTED ***%s",
- SETTING_FONT_RED,
- SETTING_FONT_BLACK);
- return SETTING_RETURN_FAIL;
- }
- }
- /* Pin Lock */
- else if (TAPI_SIM_PTYPE_PIN1 == sim_event_data->type) {
- if (TAPI_SIM_PIN_OPERATION_SUCCESS == event->Status)
- result_info.stat = SIM_PIN_LOCK_ON_SUCCESS;
- else if (TAPI_SIM_PIN_INCORRECT_PASSWORD == event->Status) {
- result_info.stat = SIM_INCORRECT_PIN1_CODE;
- result_info.retry_cnt = sim_event_data->retry_count;
- } else if (TAPI_SIM_PUK_REQUIRED == event->Status)
- result_info.stat = SIM_PIN1_BLOCKED;
-
- /* Pre CCF */
- else if (TAPI_SIM_INCOMPATIBLE_PIN_OPERATION == event->Status
- || TAPI_SIM_CARD_ERROR == event->Status) {
- /* popup */
- result_info.stat = SIM_OPERATION_UNAVAILABLE;
- }
- else {
- SETTING_TRACE_DEBUG
- ("%s*** [ERR] INCORRECTED ***%s",
- SETTING_FONT_RED,
- SETTING_FONT_BLACK);
- return SETTING_RETURN_FAIL;
- }
- }
+ 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) {
+ result_info.stat = SIM_INCORRECT_PUK2_CODE;
+ result_info.retry_cnt = sim_event_data->retry_count;
+ } else {
+ result_info.stat = SIM_UNKNOWN_ERROR;
}
- break;
+ }
+ else
+ {
+ result_info.stat = SIM_UNKNOWN_ERROR;
+ }
+ setting_password_ug_display_result_popup(&result_info, user_data);
+}
- /* Lock OFF */
- case TAPI_EVENT_SIM_DISABLE_SEC_CNF:
- {
- SETTING_TRACE
- ("CASE: TAPI_EVENT_SIM_DISABLE_SEC_CNF [Event Data Type: %d]",
- sim_event_data->type);
-
- /* Sim Lock */
- if (TAPI_SIM_PTYPE_SIM == sim_event_data->type) {
- if (TAPI_SIM_PIN_OPERATION_SUCCESS == event->Status)
- result_info.stat = SIM_LOCK_OFF_SUCCESS;
- else if (TAPI_SIM_PIN_INCORRECT_PASSWORD == event->Status)
- result_info.stat = SIM_LOCK_INCORRECT_PASSWORD;
- else {
- SETTING_TRACE_DEBUG
- ("%s*** [ERR] INCORRECTED ***%s",
- SETTING_FONT_RED,
- SETTING_FONT_BLACK);
- return SETTING_RETURN_FAIL;
- }
- }
- /* Pin Lock */
- else if (TAPI_SIM_PTYPE_PIN1 == sim_event_data->type) {
- if (TAPI_SIM_PIN_OPERATION_SUCCESS == event->Status)
- result_info.stat = SIM_PIN_LOCK_OFF_SUCCESS;
- else if (TAPI_SIM_PIN_INCORRECT_PASSWORD == event->Status) {
- result_info.stat = SIM_INCORRECT_PIN1_CODE;
- result_info.retry_cnt = sim_event_data->retry_count;
- } else if (TAPI_SIM_PUK_REQUIRED == event->Status)
- result_info.stat = SIM_PIN1_BLOCKED;
-
- /* Pre CCF */
- else if (TAPI_SIM_INCOMPATIBLE_PIN_OPERATION == event->Status
- || TAPI_SIM_CARD_ERROR == event->Status) {
- /* popup */
- result_info.stat = SIM_OPERATION_UNAVAILABLE;
- }
- else {
- SETTING_TRACE_DEBUG
- ("%s*** [ERR] INCORRECTED ***%s",
- SETTING_FONT_RED,
- SETTING_FONT_BLACK);
- return SETTING_RETURN_FAIL;
- }
- }
+void setting_sim_facility_enable_cb(TapiHandle *handle, int result, void *data, void *user_data)
+{
+ SETTING_TRACE_BEGIN;
+ ret_if(!user_data || !data);
+ TelSimPinOperationResult_t sec_rt = result;
+ tapi_receive_info result_info = { 0, };
+ TelSimFacilityResult_t *sim_event_data = (TelSimFacilityResult_t *) data;
+
+ SETTING_TRACE("sec_rt[%d]", sec_rt);
+ SETTING_TRACE("sim_event_data->type:%d", sim_event_data->type);
+ SETTING_TRACE("sim_event_data->retry_count[%d]", sim_event_data->retry_count);
+
+ /* Sim Lock */
+ if (TAPI_SIM_LOCK_PS == sim_event_data->type) {
+ SETTING_TRACE("CASE TAPI_SIM_PTYPE_SIM == sim_event_data->type");
+ if (TAPI_SIM_PIN_OPERATION_SUCCESS == sec_rt)
+ result_info.stat = SIM_LOCK_ON_SUCCESS;
+ else if (TAPI_SIM_PIN_INCORRECT_PASSWORD == sec_rt)
+ result_info.stat = SIM_LOCK_INCORRECT_PASSWORD;
+ else {
+ SETTING_TRACE_DEBUG("%s*** [ERR] INCORRECTED ***%s",
+ SETTING_FONT_RED,
+ SETTING_FONT_BLACK);
+ return;
}
- break;
-
- /* Verify PUK1, PUK2 */
- case TAPI_EVENT_SIM_VERIFY_PUK_CNF:
- {
- SETTING_TRACE
- ("CASE: TAPI_EVENT_SIM_VERIFY_PUK_CNF [Event Data Type: %d]",
- sim_event_data->type);
-
- TelSimPinStatus_t pin_status = -1;
- TelSimPinType_t pin_type = 0;
-
- if (TAPI_SIM_PTYPE_PUK1 == sim_event_data->type)
- pin_type = TAPI_SIM_PTYPE_PIN1;
- else if (TAPI_SIM_PTYPE_PUK2 == sim_event_data->type)
- pin_type = TAPI_SIM_PTYPE_PIN2;
- else {
- SETTING_TRACE_DEBUG
- ("%s*** [ERR] Invalid pin_type ***%s",
- SETTING_FONT_RED, SETTING_FONT_BLACK);
- return SETTING_RETURN_FAIL;
- }
-
- int tapi_ret = tel_get_sim_security_status(pin_type, &pin_status);
- SETTING_TRACE
- ("TAPI RET : %d PIN_TYPE : %d PIN_STATUS : %d\n",
- tapi_ret, pin_type, pin_status);
- if (TAPI_API_SUCCESS != tapi_ret) {
- SETTING_TRACE_DEBUG
- ("%s*** [ERR] tel_get_sim_security_status ***%s",
- SETTING_FONT_RED, SETTING_FONT_BLACK);
- return SETTING_RETURN_FAIL;
- }
- /* Puk Blocked */
- if (TAPI_SIM_PIN_STATUS_PUK_BLOCKED == pin_status) {
- if (TAPI_SIM_PTYPE_PIN1 == pin_type)
- result_info.stat = SIM_PUK1_BLOCKED;
- else
- result_info.stat = SIM_PUK2_BLOCKED;
- }
- /* Pin Blocked and verifying puk code */
- else if (TAPI_SIM_PIN_STATUS_ENABLED == pin_status) {
- if (TAPI_SIM_PIN_OPERATION_SUCCESS == event->Status) {
- if (TAPI_SIM_PTYPE_PIN1 == pin_type)
- result_info.stat = SIM_PIN1_UNBLOCKED;
- else
- result_info.stat = SIM_PIN2_UNBLOCKED;
- }
- }
- /* Pin Block */
- else if (TAPI_SIM_PIN_STATUS_BLOCKED == pin_status) {
- if (TAPI_SIM_PTYPE_PIN1 == pin_type) {
- result_info.stat = SIM_INCORRECT_PUK1_CODE;
- result_info.retry_cnt = sim_event_data->retry_count;
- } else {
- result_info.stat = SIM_INCORRECT_PUK2_CODE;
- result_info.retry_cnt = sim_event_data->retry_count;
- }
- } else {
- SETTING_TRACE_DEBUG
- ("%s*** [ERR] INCORRECTED ***%s",
- SETTING_FONT_RED, SETTING_FONT_BLACK);
- result_info.stat = SIM_UNKNOWN_ERROR;
- }
+ }
+ /* Pin Lock */
+ else if (TAPI_SIM_LOCK_SC == sim_event_data->type) {
+ SETTING_TRACE("CASE TAPI_SIM_PTYPE_PIN1 == sim_event_data->type");
+ if (TAPI_SIM_PIN_OPERATION_SUCCESS == sec_rt)
+ result_info.stat = SIM_PIN_LOCK_ON_SUCCESS;
+ else if (TAPI_SIM_PIN_INCORRECT_PASSWORD == sec_rt) {
+ result_info.stat = SIM_INCORRECT_PIN1_CODE;
+ result_info.retry_cnt = sim_event_data->retry_count;
+ } else if (TAPI_SIM_PUK_REQUIRED == sec_rt)
+ result_info.stat = SIM_PIN1_BLOCKED;
+
+ /* Pre CCF */
+ else if (TAPI_SIM_INCOMPATIBLE_PIN_OPERATION == sec_rt
+ || TAPI_SIM_CARD_ERROR == sec_rt) {
+ /* popup */
+ result_info.stat = SIM_OPERATION_UNAVAILABLE;
}
- break;
-
- /* Change PIN1, PIN2 */
- case TAPI_EVENT_SIM_CHANGE_PINS_CNF:
- {
- SETTING_TRACE
- ("CASE: TAPI_EVENT_SIM_CHANGE_PINS_CNF [Event Data Type: %d]",
- sim_event_data->type);
-
- if (TAPI_SIM_PIN_OPERATION_SUCCESS == event->Status) {
- if (TAPI_SIM_PTYPE_PIN1 == sim_event_data->type)
- result_info.stat = SIM_PIN1_CHANGE_SUCCESS;
- else if (TAPI_SIM_PTYPE_PIN2 == sim_event_data->type)
- result_info.stat = SIM_PIN2_CHANGE_SUCCESS;
- } else if (TAPI_SIM_PIN_INCORRECT_PASSWORD == event->Status) {
- if (TAPI_SIM_PTYPE_PIN1 == sim_event_data->type) {
- result_info.stat = SIM_INCORRECT_PIN1_CODE;
- result_info.retry_cnt = sim_event_data->retry_count;
- } else if (TAPI_SIM_PTYPE_PIN2 == sim_event_data->type) {
- result_info.stat = SIM_INCORRECT_PIN2_CODE;
- result_info.retry_cnt = sim_event_data->retry_count;
- }
- } else if (TAPI_SIM_PUK_REQUIRED == event->Status) {
- if (TAPI_SIM_PTYPE_PIN1 == sim_event_data->type)
- result_info.stat = SIM_PIN1_BLOCKED;
- else if (TAPI_SIM_PTYPE_PIN2 == sim_event_data->type)
- result_info.stat = SIM_PIN2_BLOCKED;
- } else {
- SETTING_TRACE_DEBUG
- ("%s*** [ERR] INCORRECTED ***%s",
- SETTING_FONT_RED, SETTING_FONT_BLACK);
- return SETTING_RETURN_FAIL;
- }
+ else {
+ SETTING_TRACE_DEBUG
+ ("%s*** [ERR] INCORRECTED ***%s",
+ SETTING_FONT_RED,
+ SETTING_FONT_BLACK);
+ return;
}
- break;
-
- default:
- break;
}
-
- setting_password_ug_display_result_popup(&result_info, ad);
-
- return 0;
+ setting_password_ug_display_result_popup(&result_info, user_data);
+}
+void setting_sim_facility_disable_cb(TapiHandle *handle, int result, void *data, void *user_data)
+{
+ SETTING_TRACE_BEGIN;
+ ret_if(!user_data || !data);
+ TelSimPinOperationResult_t sec_rt = result;
+ tapi_receive_info result_info = { 0, };
+ TelSimFacilityResult_t *sim_event_data = (TelSimFacilityResult_t *) data;
+ SETTING_TRACE("sec_rt[%d]", sec_rt);
+ SETTING_TRACE("sim_event_data->type:%d", sim_event_data->type);
+ SETTING_TRACE("sim_event_data->retry_count[%d]", sim_event_data->retry_count);
+
+ /* 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)
+ result_info.stat = SIM_LOCK_INCORRECT_PASSWORD;
+ else {
+ SETTING_TRACE_DEBUG
+ ("%s*** [ERR] INCORRECTED ***%s",
+ SETTING_FONT_RED,
+ SETTING_FONT_BLACK);
+ return;
+ }
+ }
+ /* 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) {
+ result_info.stat = SIM_INCORRECT_PIN1_CODE;
+ result_info.retry_cnt = sim_event_data->retry_count;
+ } else if (TAPI_SIM_PUK_REQUIRED == sec_rt)
+ result_info.stat = SIM_PIN1_BLOCKED;
+
+ /* Pre CCF */
+ else if (TAPI_SIM_INCOMPATIBLE_PIN_OPERATION == sec_rt
+ || TAPI_SIM_CARD_ERROR == sec_rt) {
+ /* popup */
+ result_info.stat = SIM_OPERATION_UNAVAILABLE;
+ }
+ else {
+ SETTING_TRACE_DEBUG
+ ("%s*** [ERR] INCORRECTED ***%s",
+ SETTING_FONT_RED,
+ SETTING_FONT_BLACK);
+ return;
+ }
+ }
+ setting_password_ug_display_result_popup(&result_info, user_data);
}
-static void setting_password_ug_display_result_popup(tapi_receive_info *result,
+static void setting_password_ug_display_result_popup(tapi_receive_info *result,
SettingPasswordUG *ad)
{
+ SETTING_TRACE_BEGIN;
switch (result->stat) {
case SIM_OPERATION_OK:
case SIM_LOCK_ON_SUCCESS:
"[Error] set value of vconf fail.");
}
/* Success to Operate */
- bundle *b = NULL;
- b = bundle_create();
- if (!b)
+ service_h svc;
+ if (service_create(&svc))
return;
- bundle_add(b, "result", ad->view_type_string);
- ug_send_result(ad->ug, b);
+
+ service_add_extra_data(svc, "result", ad->view_type_string);
+ ug_send_result(ad->ug, svc);
SETTING_TRACE("Send Result : %s\n", ad->view_type_string);
- bundle_free(b);
+
+ service_destroy(svc);
/* Send destroy request */
ug_destroy_me(ad->ug);
}
break;
case SIM_LOCK_INCORRECT_PASSWORD:
- ad->focus_data = ad->ed_pw1;
- setting_password_ug_check_attemps_left(ad);
+ {
+ SETTING_TRACE_DEBUG("SIM LOCK INCORRECT PASSWORD");
+ ad->focus_data = ad->ed_pw1;
+ setting_password_ug_display_desc(ad, PW_ERR_DESC, FALSE);
+ }
break;
case SIM_INCORRECT_PIN1_CODE:
{
setting_retm_if(ret < 0, "snprintf fail");
ret_str = tmp_str;
} else {
+ 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;
+
setting_password_ug_display_desc(ad, (char *)ret_str, FALSE);
+
}
break;
case SIM_INCORRECT_PIN2_CODE:
ret_str = _("IDS_ST_POP_INCORRECT_PIN1_ATTEMPT_LEFT");
}
ad->focus_data = ad->ed_pw1;
+
setting_password_ug_display_desc(ad, ret_str, FALSE);
+
}
break;
case SIM_INCORRECT_PUK1_CODE:
setting_retm_if(ret < 0, "snprintf fail");
ret_str = tmp_str;
} else {
- ret_str = _("IDS_ST_POP_INCORRECT_PUK1_1_ATTEMPT_LEFT");
+ ret_str = _("IDS_ST_POP_INCORRECT_PUK1_CODE");
}
ad->focus_data = ad->ed_pw1;
+
setting_password_ug_display_desc(ad, ret_str, FALSE);
+
}
break;
case SIM_INCORRECT_PUK2_CODE:
setting_retm_if(ret < 0, "snprintf fail");
ret_str = tmp_str;
} else {
- ret_str = _("IDS_ST_POP_INCORRECT_PUK2_1_ATTEMPT_LEFT");
+ ret_str = _("IDS_ST_POP_INCORRECT_PUK2");
}
ad->focus_data = ad->ed_pw1;
+
setting_password_ug_display_desc(ad, ret_str, FALSE);
+
}
break;
case SIM_PIN1_CHANGE_SUCCESS:
_("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;
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,
/* 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,
- _("IDS_ST_POP_SERVICE_UNAVAILABLE"), TRUE);
+ _("IDS_ST_HEADER_UNAVAILABLE"), TRUE);
break;
case SIM_UNKNOWN_ERROR:
setting_password_ug_create_popup_notitle_nobtn(ad,
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);
+ }
+ }
+ break;
case SIM_PIN1_CHANGE_FAIL:
case SIM_PIN2_CHANGE_FAIL:
+ setting_password_ug_create_popup_notitle_nobtn(ad,
+ _("Change Failed"), TRUE);
break;
default:
break;
void setting_password_ug_popup_resp_cb(void *data, Evas_Object *obj,
void *event_info)
-{
+{
retm_if(data == NULL, "Data parameter is NULL");
- bundle *b = NULL;
+
+ service_h svc;
SettingPasswordUG *ad = (SettingPasswordUG *) data;
- if (ad->destroy) {
- /* Success to Operate */
- b = bundle_create();
- if (!b)
- return;
- bundle_add(b, "result", ad->view_type_string);
- ug_send_result(ad->ug, b);
- SETTING_TRACE("Send Result : %s\n", ad->view_type_string);
- bundle_free(b);
-
- /* Send destroy request */
- ug_destroy_me(ad->ug);
- } else {
- char *diable_view_type = NULL;
- if (ad->disable_item_type == SETTING_PW_TYPE_PHONE_LOCK) {
- 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";
- }
-
- if (diable_view_type) {
- /* Success to Operate */
- b = bundle_create();
- if (!b)
- return;
- bundle_add(b, "result", diable_view_type);
- ug_send_result(ad->ug, b);
- bundle_free(b);
-
- /* Send destroy request */
- ug_destroy_me(ad->ug);
- }
- if (ad->focus_data) {
- ad->focus_data->isFocusFlag = TRUE;
- elm_object_item_data_set(ad->focus_data->item, ad->focus_data);
- elm_genlist_item_update(ad->focus_data->item);
- }
- }
+ if (ad->destroy) {
+ /* Success to Operate */
+
+ if (service_create(&svc))
+ return;
+
+ service_add_extra_data(svc, "result", ad->view_type_string);
+ ug_send_result(ad->ug, svc);
+ SETTING_TRACE("Send Result : %s\n", ad->view_type_string);
+
+ service_destroy(svc);
+ /* Send destroy request */
+ ug_destroy_me(ad->ug);
+ } else {
+ char *diable_view_type = NULL;
+ 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";
+ }
+
+ if (diable_view_type) {
+ /* Success to Operate */
+
+ if (service_create(&svc))
+ return;
+
+ service_add_extra_data(svc, "result", diable_view_type);
+ ug_send_result(ad->ug, svc);
+
+ service_destroy(svc);
+ /* Send destroy request */
+ ug_destroy_me(ad->ug);
}
+ if (ad->focus_data) {
+ ad->focus_data->isFocusFlag = TRUE;
+ elm_object_item_data_set(ad->focus_data->item, ad->focus_data);
+ elm_genlist_item_update(ad->focus_data->item);
+ }
+ }
+}
static Eina_Bool __remove_desc(void *data)
{
SETTING_TRACE_BEGIN;
if (ad->destroy) {
/* Success to Operate */
- bundle *b = bundle_create();
- if (!b)
+
+ service_h svc;
+ if (service_create(&svc))
return EINA_FALSE;
- bundle_add(b, "result", ad->view_type_string);
- ug_send_result(ad->ug, b);
+
+ service_add_extra_data(svc, "result", ad->view_type_string);
+ ug_send_result(ad->ug, svc);
SETTING_TRACE("Send Result : %s\n", ad->view_type_string);
- bundle_free(b);
+ service_destroy(svc);
/* Send destroy request */
ug_destroy_me(ad->ug);
} else {
char *diable_view_type = NULL;
- if (ad->disable_item_type == SETTING_PW_TYPE_PHONE_LOCK) {
- diable_view_type = "SETTING_PW_TYPE_PHONE_LOCK_DISABLE";
- } else if (ad->disable_item_type == SETTING_PW_TYPE_SIM_LOCK_OFF) {
+ if (ad->disable_item_type == SETTING_PW_TYPE_SIM_LOCK_OFF) {
diable_view_type = "SETTING_PW_TYPE_SIM_LOCK_DISABLE";
}
if (diable_view_type) {
/* Success to Operate */
- bundle *b = bundle_create();
- if (!b)
+
+ service_h svc;
+ if (service_create(&svc))
return EINA_FALSE;
- bundle_add(b, "result", diable_view_type);
- ug_send_result(ad->ug, b);
- bundle_free(b);
+ service_add_extra_data(svc, "result", diable_view_type);
+ ug_send_result(ad->ug, svc);
+
+ service_destroy(svc);
/* Send destroy request */
ug_destroy_me(ad->ug);
}
SettingPasswordUG *ad = (SettingPasswordUG *)data;
- ad->destroy= destroy;
+#ifdef SUPPORT_MDM
+ if(ad->view_type == SETTING_PW_TYPE_MDM_NEW_POLICY)
+ return;
+#endif
+
+ ad->destroy = destroy;
if(ad->scroller == NULL)
return;
elm_object_item_del(ad->err_desc);
ad->err_desc = NULL;
}
-
+
ad->err_desc = elm_genlist_item_append(ad->scroller, &(ad->itc_err_desc), desc, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
ad->remove_timer = ecore_timer_add(2.0, __remove_desc, ad);
SettingPasswordUG *ad = (SettingPasswordUG *) data;
ad->destroy = destroy;
- ad->notify = setting_create_popup_without_btn(ad, ad->ly_main, str,
- NULL,
- setting_password_ug_popup_resp_cb,
- POPUP_INTERVAL);
-}
-
-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_PHONE_LOCK) {
- 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);
-
- setting_password_ug_display_desc(ad, temp_str, FALSE);
-
- } 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);
+ if(ad->notify)
+ {
+ evas_object_del(ad->notify);
+ ad->notify = NULL;
}
-
-}
-
-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)
-{
- SETTING_TRACE_BEGIN;
- retv_if(challenge == NULL, SETTING_GENERAL_ERR_NULL_DATA_PARAMETER);
-
- int ret = 0;
- unsigned int current_attempt = 0;
- unsigned int max_attempt = 0;
- unsigned int valid_secs = 0;
-
- ret = security_server_chk_pwd(challenge, ¤t_attempt, &max_attempt, &valid_secs);
-
- SETTING_TRACE_DEBUG("chk password : %d", ret);
-
- if(ret == SECURITY_SERVER_API_SUCCESS)
- return SETTING_RETURN_SUCCESS;
- else
- return SETTING_RETURN_FAIL;
+ ad->notify = setting_create_popup_without_btn(ad, ad->ly_main, NULL, str,
+ setting_password_ug_popup_resp_cb,
+ POPUP_INTERVAL, FALSE, FALSE);
}
-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;
-
- /* max attempt count will be handled in passwordug for a while. */
- ret = security_server_set_pwd(cur_pwd, new_pwd, 0, PW_ERR_DELAY_TIME);
- SETTING_TRACE_DEBUG("set password : %d", ret);
-
- if(ret == SECURITY_SERVER_API_SUCCESS)
- return SETTING_RETURN_SUCCESS;
- else
- return SETTING_RETURN_FAIL;
-}