2 * Copyright 2012 Samsung Electronics Co., Ltd
\r
4 * Licensed under the Flora License, Version 1.0 (the License);
\r
5 * you may not use this file except in compliance with the License.
\r
6 * You may obtain a copy of the License at
\r
8 * http://floralicense.org/license/
\r
10 * Unless required by applicable law or agreed to in writing, software
\r
11 * distributed under the License is distributed on an AS IS BASIS,
\r
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 * See the License for the specific language governing permissions and
\r
14 * limitations under the License.
\r
18 #include <vconf-keys.h>
\r
20 #include "lockscreen.h"
\r
21 #include "sim-state.h"
\r
23 static void _set_sim_state(void *data)
\r
25 struct appdata *ad = data;
\r
33 int service_type = VCONFKEY_TELEPHONY_SVCTYPE_SEARCH;
\r
35 if(vconf_get_int(VCONFKEY_TELEPHONY_SVCTYPE, &service_type) != 0) {
\r
36 LOGD("fail to get VCONFKEY_TELEPHONY_SVCTYPE");
\r
39 ret = (vconf_get_int(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, &state));
\r
41 LOGD("[%s:%d] VCONFKEY(%s) = %d", __func__, __LINE__, VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, state);
\r
42 if (state != VCONFKEY_TELEPHONY_DISP_INVALID
\r
43 && service_type > VCONFKEY_TELEPHONY_SVCTYPE_SEARCH) {
\r
44 if (state & VCONFKEY_TELEPHONY_DISP_SPN) {
\r
45 buf = vconf_get_str(VCONFKEY_TELEPHONY_SPN_NAME);
\r
46 edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", buf);
\r
49 if (state & VCONFKEY_TELEPHONY_DISP_PLMN) {
\r
50 buf = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME);
\r
51 edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", buf);
\r
53 } else if (service_type == VCONFKEY_TELEPHONY_SVCTYPE_NOSVC) {
\r
54 edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", _S("IDS_COM_BODY_NO_SERVICE"));
\r
55 } else if (service_type == VCONFKEY_TELEPHONY_SVCTYPE_EMERGENCY) {
\r
56 edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", _("IDS_LCKSCN_HEADER_EMERGENCY_CALLS_ONLY"));
\r
58 if (service_type > VCONFKEY_TELEPHONY_SVCTYPE_SEARCH) {
\r
59 buf = vconf_get_str(VCONFKEY_TELEPHONY_NWNAME);
\r
60 edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", buf);
\r
62 edje_object_part_text_set(_EDJ(ad->ly_main), "sim.state", _S("IDS_COM_BODY_SEARCHING"));
\r
68 static void _sim_state_changed_cb(keynode_t *node, void *data)
\r
70 _set_sim_state(data);
\r
73 static void _register_sim_state_event_handler(void *data)
\r
77 ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SVCTYPE,
\r
78 _sim_state_changed_cb, data);
\r
80 LOCK_SCREEN_TRACE_ERR("Failed to register [%s]",
\r
81 VCONFKEY_TELEPHONY_SVCTYPE);
\r
83 ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION,
\r
84 _sim_state_changed_cb, data);
\r
86 LOCK_SCREEN_TRACE_ERR("Failed to register [%s]",
\r
87 VCONFKEY_TELEPHONY_SPN_DISP_CONDITION);
\r
89 ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_SPN_NAME,
\r
90 _sim_state_changed_cb, data);
\r
92 LOCK_SCREEN_TRACE_ERR("Failed to register [%s]",
\r
93 VCONFKEY_TELEPHONY_SPN_NAME);
\r
96 ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_NWNAME,
\r
97 _sim_state_changed_cb, data);
\r
99 LOCK_SCREEN_TRACE_ERR("Failed to register [%s]",
\r
100 VCONFKEY_TELEPHONY_NWNAME);
\r
103 void set_sim_state(void *data)
\r
105 _set_sim_state(data);
\r
106 _register_sim_state_event_handler(data);
\r
109 void fini_sim_state(void *data)
\r
111 vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SVCTYPE, _sim_state_changed_cb);
\r
113 vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SPN_DISP_CONDITION, _sim_state_changed_cb);
\r
115 vconf_ignore_key_changed(VCONFKEY_TELEPHONY_SPN_NAME, _sim_state_changed_cb);
\r
117 vconf_ignore_key_changed(VCONFKEY_TELEPHONY_NWNAME, _sim_state_changed_cb);
\r