0
点赞
收藏
分享

微信扫一扫

WAP/MMS上网参数自适应参考设计


本参考设计主要思路和关键点如点:
1) 为不同operator的SIM卡准备WAP/MMS profile data 
为尽量少改动代码,不需新增数据结构,可延用WAP,MMS,DATA ACCOUNT对应的NVRAM,主要有以下三方面: 
1.1 Browser 
COMMON_NVRAM_EF_WAP_PROF_WAP_PROFILE_CONTENT_DEFAULT  
Browser profile content(包括SIM1和SIM2的browser profile content) 
COMMON_NVRAM_EF_WAP_PROF_WAP_SIM1_PROFILE_NAMES_DEFAULT  
SIM1 Browser profile name 
COMMON_NVRAM_EF_WAP_PROF_WAP_SIM2_PROFILE_NAMES_DEFAULT 
SIM2 Browser profile name
1.2MMS 
COMMON_NVRAM_EF_WAP_PROF_MMS_PROFILE_CONTENT_DEFAULT 
MMS profile content(包括SIM1和SIM2的MMS profile content) 
COMMON_NVRAM_EF_WAP_PROF_MMS_SIM1_PROFILE_NAMES_DEFAULT  
SIM1 MMS profile name 
COMMON_NVRAM_EF_WAP_PROF_MMS_SIM2_PROFILE_NAMES_DEFAULT 
SIM2 MMS profile name
1.3Data account 
COMMON_NVRAM_EF_ABM_PS_PROFILE_DEFAULT 
GPRS data account content 
COMMON_NVRAM_EF_CSD_PROFILE_DEFAULT 
CSD data account content
2)开机后,mmi_wap_prof_init用于初始化WAP/MMS profile 
2.1原有设计是: 
2.1.1Browser部分: 
mmi_wap_prof_nvram_read_active_profile_index(MMI_WAP_PROF_APPID_BRW);  
从nvram中获取并设置SIM1和SIM2的active profile index 
mmi_wap_prof_initialize_data(MMI_WAP_PROF_SIMID_SIM1, MMI_WAP_PROF_APPID_BRW);  
根据SIM1 active profile index设置SIM1的profile content 
mmi_wap_prof_initialize_data(MMI_WAP_PROF_SIMID_SIM2, MMI_WAP_PROF_APPID_BRW); 
根据SIM2 active profile index设置SIM2的profile content
2.1.2 MMS部分: 
mmi_wap_prof_nvram_read_active_profile_index(MMI_WAP_PROF_APPID_MMS); 
从nvram中获取并设置SIM1和SIM2的active profile index 
mmi_wap_prof_initialize_data(MMI_WAP_PROF_SIMID_SIM1, MMI_WAP_PROF_APPID_MMS);  
根据SIM1 active profile  
mmi_wap_prof_initialize_data(MMI_WAP_PROF_SIMID_SIM2, MMI_WAP_PROF_APPID_MMS);- 
根据SIM2 active profile index设置SIM2的profile content
2.2 需要修改的是: 
只需要修改函数mmi_wap_prof_nvram_read_active_profile_index(),将函数中从nvram获取SIM卡active profile
index的操作修改为: 
2.2.1 先通过SIMModule获取当前SIM卡的MCC和MNC. 
2.2.2 根据第一步结果,找出该SIM卡对应的profile index(对应关系在预置WAP/MMS/data account的nvram数据时已经由客户自行设定). 
2.2.3 用新获取的profile index替换原代码中从nvram获取的profile index即可,除此之外不需作其它修改。
 
【注】函数mmi_wap_prof_nvram_read_active_profile_index()中,变量index为从nvram中读出的sim1和sim2 active prile index,其第一个字节对应SIM1的profile index,第二个字节对应SIM2的profile index。即:SIM1_index=((index) & 0x00FF); SIM2_index= ((index) >> 8)。

举报

相关推荐

0 条评论