--- /dev/null
+/*\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the License);\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://floralicense.org/license/\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an AS IS BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+#include <vconf.h>\r
+#include <vconf-keys.h>\r
+\r
+#include "lockscreen.h"\r
+#include "sim-state.h"\r
+\r
+static void _set_sim_state(void *data)\r
+{\r
+ struct appdata *ad = data;\r
+ if (ad == NULL)\r
+ return;\r
+\r
+ int state = 0;\r
+ int ret = 0;\r
+ char *buf = NULL;\r
+\r
+ int service_type = VCONFKEY_TELEPHONY_SVCTYPE_SEARCH;\r
+\r
+ if(vconf_get_int(VCONFKEY_TELEPHONY_SVCTYPE, &service_type) != 0) {\r
+ LOGD("fail to get VCONFKEY_TELEPHONY_SVCTYPE");\r
+ }\r
+\r
+ ret = (vconf_get_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, &state));\r
+ if (ret == 0) {\r
+ LOGD("[%s:%d] VCONFKEY(%s) = %d", __func__, __LINE__, VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, state);\r
+ if (state != VCONFKEY_TELEPHONY_DISP_INVALID\r
+ && service_type > VCONFKEY_TELEPHONY_SVCTYPE_SEARCH) {\r
+ if (state & VCONFKEY_TELEPHONY_DISP_SPN) {\r
+ buf = vconf_get_str(VCONFKEY_TELEPHONY_SPN_NAME);\r
+ edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", buf);\r
+ }\r
+\r
+ if (state & VCONFKEY_TELEPHONY_DISP_PLMN) {\r
+ buf = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME);\r
+ edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", buf);\r
+ }\r
+ } else if (service_type == VCONFKEY_TELEPHONY_SVCTYPE_NOSVC) {\r
+ edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", _S("IDS_COM_BODY_NO_SERVICE"));\r
+ } else if (service_type == VCONFKEY_TELEPHONY_SVCTYPE_EMERGENCY) {\r
+ edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", _("IDS_LCKSCN_HEADER_EMERGENCY_CALLS_ONLY"));\r
+ } else {\r
+ if (service_type > VCONFKEY_TELEPHONY_SVCTYPE_SEARCH) {\r
+ buf = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME);\r
+ edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", buf);\r
+ }else {\r
+ edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", _S("IDS_COM_BODY_SEARCHING"));\r
+ }\r
+ }\r
+ }\r
+}\r
+\r
+static void _sim_state_changed_cb(keynode_t *node, void *data)\r
+{\r
+ _set_sim_state(data);\r
+}\r
+\r
+static void _register_sim_state_event_handler(void *data)\r
+{\r
+ int ret = 0;\r
+\r
+ ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SVCTYPE,\r
+ _sim_state_changed_cb, data);\r
+ if (ret != 0)\r
+ LOCK_SCREEN_TRACE_ERR("Failed to register [%s]",\r
+ VCONFKEY_TELEPHONY_SVCTYPE);\r
+\r
+ ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION,\r
+ _sim_state_changed_cb, data);\r
+ if (ret != 0)\r
+ LOCK_SCREEN_TRACE_ERR("Failed to register [%s]",\r
+ VCONFKEY_TELEPHONY_SPN_DISP_CONDITION);\r
+\r
+ ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SPN_NAME,\r
+ _sim_state_changed_cb, data);\r
+ if (ret != 0)\r
+ LOCK_SCREEN_TRACE_ERR("Failed to register [%s]",\r
+ VCONFKEY_TELEPHONY_SPN_NAME);\r
+\r
+\r
+ ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_NWNAME,\r
+ _sim_state_changed_cb, data);\r
+ if (ret != 0)\r
+ LOCK_SCREEN_TRACE_ERR("Failed to register [%s]",\r
+ VCONFKEY_TELEPHONY_NWNAME);\r
+}\r
+\r
+void set_sim_state(void *data)\r
+{\r
+ _set_sim_state(data);\r
+ _register_sim_state_event_handler(data);\r
+}\r
+\r
+void fini_sim_state(void *data)\r
+{\r
+ vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SVCTYPE, _sim_state_changed_cb);\r
+\r
+ vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, _sim_state_changed_cb);\r
+\r
+ vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SPN_NAME, _sim_state_changed_cb);\r
+\r
+ vconf_ignore_key_changed(VCONFKEY_TELEPHONY_NWNAME, _sim_state_changed_cb);\r
+}\r
--- /dev/null
+/*\r
+ * Copyright 2012 Samsung Electronics Co., Ltd\r
+ *\r
+ * Licensed under the Flora License, Version 1.0 (the License);\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://floralicense.org/license/\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an AS IS BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+#ifndef __SIM_STATE_H__\r
+#define __SIM_STATE_H__\r
+\r
+void set_sim_state(void *data);\r
+void fini_sim_state(void *data);\r
+\r
+#endif\r
#include <heynoti.h>
#include "util.h"
+#include "sim-state.h"
#include "info.h"
#include "bg.h"
#include "noti.h"
}
}
-static void _set_sim_state(void *data)
-{
- struct appdata *ad = data;
- if (ad == NULL)
- return;
-
- int state = 0;
- int ret = 0;
- char *buf = NULL;
-
- int service_type = VCONFKEY_TELEPHONY_SVCTYPE_SEARCH;
-
- if(vconf_get_int(VCONFKEY_TELEPHONY_SVCTYPE, &service_type) != 0) {
- LOGD("fail to get VCONFKEY_TELEPHONY_SVCTYPE");
- }
-
- ret = (vconf_get_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, &state));
- if (ret == 0) {
- LOGD("[%s:%d] VCONFKEY(%s) = %d", __func__, __LINE__, VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, state);
- if (state != VCONFKEY_TELEPHONY_DISP_INVALID
- && service_type > VCONFKEY_TELEPHONY_SVCTYPE_SEARCH) {
- if (state & VCONFKEY_TELEPHONY_DISP_SPN) {
- buf = vconf_get_str(VCONFKEY_TELEPHONY_SPN_NAME);
- edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", buf);
- }
-
- if (state & VCONFKEY_TELEPHONY_DISP_PLMN) {
- buf = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME);
- edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", buf);
- }
- } else if (service_type == VCONFKEY_TELEPHONY_SVCTYPE_NOSVC) {
- edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", _S("IDS_COM_BODY_NO_SERVICE"));
- } else if (service_type == VCONFKEY_TELEPHONY_SVCTYPE_EMERGENCY) {
- edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", _("IDS_LCKSCN_HEADER_EMERGENCY_CALLS_ONLY"));
- } else {
- if (service_type > VCONFKEY_TELEPHONY_SVCTYPE_SEARCH) {
- buf = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME);
- edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", buf);
- }else {
- edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", _S("IDS_COM_BODY_SEARCHING"));
- }
- }
- }
-}
-
static void _app_exit(void *data, Evas_Object *obj, const char *emission, const char *source)
{
struct appdata *ad = data;
&ad->slider_rel2.x, &ad->slider_rel2.y, &ad->slider_rel2.w,
&ad->slider_rel2.h);
- _set_sim_state(ad);
+ set_sim_state(ad);
ad->info = elm_layout_add(ad->win);
elm_layout_file_set(ad->info, EDJEFILE, "lock-info");
}
vconf_ignore_key_changed(VCONFKEY_PM_STATE, _pm_state_cb);
+ fini_sim_state(ad);
_fini_heynoti(ad);
LOGD("[%s] app termiante", __func__);