avk_idle_nwinfo.cpp
5.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
extern "C"
{
#include "NwInfoSrvGprot.h"
}
AVK_ADD_ITEM(AVK_IDLE_INFO_AUTO,L"Auto case",AVK_IDLE_INFO);
AVK_ADD_ITEM(AVK_IDLE_INFO_MANU,L"Manual case",AVK_IDLE_INFO);
AVK_CASE(AVK_IDLE_INFO_CASE_AUTO,AVK_IDLE_INFO_AUTO)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
mmi_sim_enum v_sim;
U8 signal_level;
MMI_BOOL bool_reval;
mmi_network_enum nw_enum;
srv_nw_info_service_availability_enum nw_info_reval;
srv_nw_band_enum nw_band_reval;
srv_nw_info_location_info_struct locate_info;
kal_char char_plmn[SRV_MAX_PLMN_LEN+1];
#ifdef __SRV_NW_INFO_CIPHER_SUPPORT__
srv_nw_info_cipher_info_struct cipher_info;
#endif
#ifdef __HOMEZONE_SUPPORT__
srv_nw_info_homezone_info_struct homezone_info;
#endif
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
v_sim = MMI_SIM1;
/*srv_nw_info_get_service_availability*/
nw_info_reval = srv_nw_info_get_service_availability(v_sim);
AVK_LOG_FUN(srv_nw_info_get_service_availability,((nw_info_reval >= SRV_NW_INFO_SA_FULL_SERVICE ) && (nw_info_reval < SRV_NW_INFO_SA_END_OF_ENUM)));
//SRV_NW_BAND_GSM900 = 0x02, /* GSM900 */
//SRV_NW_BAND_DCS1800 = 0x08, /* DCS1800 */
//SRV_NW_BAND_PCS1900 = 0x10, /* PCS1900 */
//SRV_NW_BAND_GSM450 = 0x20, /* GSM450 */
//SRV_NW_BAND_GSM480 = 0x40, /* GSM480 */
//SRV_NW_BAND_GSM850 = 0x80, /* GSM850 */
//SRV_NW_BAND_OTHERS = 0xf0, /* Other band not defined above. */
/*srv_nw_info_get_camp_on_band*/
nw_band_reval = srv_nw_info_get_camp_on_band(v_sim);
AVK_LOG_FUN(srv_nw_info_get_camp_on_band,((SRV_NW_BAND_GSM900 == nw_band_reval) || (SRV_NW_BAND_DCS1800 == nw_band_reval)||
(SRV_NW_BAND_PCS1900 == nw_band_reval) || (SRV_NW_BAND_GSM450 == nw_band_reval)||
(SRV_NW_BAND_GSM480 == nw_band_reval) || (SRV_NW_BAND_GSM850 == nw_band_reval)||(SRV_NW_BAND_OTHERS == nw_band_reval)));
/*srv_nw_info_sim_is_rejected*/
/*need valid sim*/
AVK_LOG(MMI_FALSE == srv_nw_info_sim_is_rejected(v_sim));
/*srv_nw_info_is_roaming*/
AVK_LOG(MMI_FALSE == srv_nw_info_is_roaming(v_sim));
/*srv_nw_info_get_signal_strength_in_percentage*/
signal_level = srv_nw_info_get_signal_strength_in_percentage(v_sim);
AVK_LOG_FUN(srv_nw_info_get_signal_strength_in_percentage,((signal_level >= 0 ) && (signal_level <= 100)));
memset(&locate_info, 0, sizeof(locate_info));
/*srv_nw_info_get_location_info*/
bool_reval = srv_nw_info_get_location_info(v_sim, &locate_info);
AVK_LOG_FUN(srv_nw_info_get_location_info,((MMI_TRUE == bool_reval) && (locate_info.plmn[0] != 0)));
/*srv_nw_info_get_nw_plmn*/
memset(char_plmn, 0, SRV_MAX_PLMN_LEN+1);
bool_reval = srv_nw_info_get_nw_plmn(v_sim, char_plmn, SRV_MAX_PLMN_LEN+1);
AVK_LOG_FUN(srv_nw_info_get_nw_plmn,((MMI_TRUE == bool_reval) && (char_plmn[0] != 0)));
/*srv_nw_info_get_protocol*/
nw_enum = srv_nw_info_get_protocol(v_sim);
AVK_LOG_FUN(srv_nw_info_get_protocol,((MMI_GSM == nw_enum) || (MMI_WCDMA == nw_enum)));
/*srv_nw_info_cell_supports*/
AVK_LOG_FUN(srv_nw_info_cell_supports,((srv_nw_info_cell_supports(v_sim, MMI_GPRS))||(srv_nw_info_cell_supports(v_sim, MMI_EDGE))
||(srv_nw_info_cell_supports(v_sim, MMI_HSDPA))||(srv_nw_info_cell_supports(v_sim, MMI_HSUPA))));
#ifdef __SRV_NW_INFO_CIPHER_SUPPORT__
/*srv_nw_info_get_cipher_info*/
memset(&cipher_info, 0xFF, sizeof(cipher_info));
bool_reval = srv_nw_info_get_cipher_info(v_sim, &cipher_info);
AVK_LOG_FUN(srv_nw_info_get_cipher_info,( 0xFF != cipher_info.ps_status));
#else
AVK_LOG_FUN_UNSUPPORTED(srv_nw_info_get_cipher_info);
#endif
#ifdef __HOMEZONE_SUPPORT__
/*srv_nw_info_get_homezone_info*/
memset(&homezone_info, 0, sizeof(homezone_info));
bool_reval = srv_nw_info_get_homezone_info(v_sim, &homezone_info);
//bool_reval == homezone_info.is_in_homezone
/*Just check it can call */
AVK_LOG_FUN(srv_nw_info_get_homezone_info,(MMI_FALSE == bool_reval));
#else
AVK_LOG_FUN_UNSUPPORTED(srv_nw_info_get_homezone_info);
#endif
}
void avk_idle_nwinfo_channal_support(void)
{
mmi_sim_enum v_sim;
v_sim = MMI_SIM1;
/*srv_nw_info_channel_supports*/
AVK_LOG_FUN(srv_nw_info_channel_supports,((srv_nw_info_channel_supports(v_sim, MMI_GPRS))||(srv_nw_info_channel_supports(v_sim, MMI_EDGE))
||(srv_nw_info_channel_supports(v_sim, MMI_HSDPA))||(srv_nw_info_channel_supports(v_sim, MMI_HSUPA))));
AVK_ASYN_DONE();
}
AVK_MANUAL_CASE(AVK_IDLE_INFO_CASE_MANU,AVK_IDLE_INFO_MANU)
{
AVK_MANU_SHOW_TIPS(L"Please Send MMS to SIM1, when E icon showed, press OK to run",avk_idle_nwinfo_channal_support);
}