mt2503 FDN 如何修改成100条
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
目前SIM中FDN 有100条,而目前只能读出20条, 要保证100条都能读出来,该如何修改?
[SOLUTION]
首先先说明一下,FDN是存放在SIM卡上的固定拨号的联系人,要确保sim卡是支持100个联系人,手机端可以设置支持的最大的FDN个数,但最终,还是会 对比手机允许的最大个数及SIM允许的最大个数,以两个值中最小的那个为基准。
也就是说即使你把手机的个数设为100,但是sim卡只能支持10个,那就只能是10个,无法再添加,sim卡无位置可以存放。
以下提供修改方法如下:
1. makefile中 PHB_FDN_ENTRY = 100
2. PhbSrvGprot.h (plutoMMI\service\inc):#define SRV_PHB_XMGNT_SIM_ENTRIES 100
3. PhbXmgntSrv.c (plutommi\service\phbsrv)中
void srv_phb_xmgnt_read_fdn_to_ram_rsp(void *info, int mod_id)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
mmi_phb_get_entry_by_index_rsp_struct *local_ptr;
U16 i, index;
sim_interface_enum sim_id;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
...
///if (local_ptr->no_list == PHB_MAX_PHB_ENTRIES)//remove this line
if ((local_ptr->no_list == PHB_MAX_PHB_ENTRIES)&&
(g_srv_phb_fdn_cntx.fdn_list[sim_id].entry_count<MMI_PHB_FDN_ENTRIES))//add this line
{
srv_phb_xmgnt_read_fdn_to_ram_req(sim_id);
return;
}
...
}
4. 最后还要加上以下修改
Gui_typedef.h (plutommi\php?mod=tag&id=6090" target="_blank" class="relatedlink">Framework\gui\gui_inc):
#define MAX_FIXED_ICONTEXT_MENU_ITEMS LIMIT_MENU_ITEM_NUMBER(100)
GlobalConstants.h (plutommi\mmi\inc):
#define MAX_SUB_MENUS (100)
如果没有加上第四步的修改,在phonebook settin->extra number->FDN下面看到的FDN list中最多只能看到60个FDN联系人,看不到后面的40个。
因为代码中,最终会通过add_location_fixed_icontext_item去加载要显示在UI上的FDN联系人信息,这里面最多只能显示MAX_FIXED_ICONTEXT_MENU_ITEMS个item信息(目前代码中MAX_FIXED_ICONTEXT_MENU_ITEMS是设置为60的)
下面附上FDN联系人列表的call stack供参考
MoDIS.exe!add_location_fixed_icontext_item(int index=1, unsigned short * s=0x046ceeba,
unsigned char * img=0x02cdf428) Line 1472C
MoDIS.exe!wgui_fixed_list_add_icontext_one_item(int item_index=1, unsigned char *
text_of_item=0x046ceeba, unsigned char * icons=0x02cdf428, unsigned char *
text_of_description=0x046cee64) Line 4855 + 0x11 bytesC
MoDIS.exe!ShowCategory353Screen_ext_int(unsigned char * title=0x02834526, unsigned char
* title_icon=0x00000000, unsigned char * left_softkey=0x02832734, unsigned char *
right_softkey=0x02832744, int number_of_items=2, unsigned char * *
list_of_items=0x0eb7fcb4, unsigned short * list_of_icons=0x0eb7fc2c, unsigned char * *
list_of_descriptions=0x0eb7fc5c, int flags=0, int highlighted_item=0, unsigned char *
history_buffer=0x00000000) Line 11341 + 0x21 bytesC
MoDIS.exe!ShowCategory353Screen_int(unsigned char * title=0x02834526, unsigned short
title_icon=8231, unsigned short left_softkey=153, unsigned short right_softkey=29, int
number_of_items=2, unsigned char * * list_of_items=0x0eb7fcb4, unsigned short *
list_of_icons=0x0eb7fc2c, unsigned char * * list_of_descriptions=0x0eb7fc5c, int
flags=0, int highlighted_item=0, unsigned char * history_buffer=0x00000000) Line 11225
+ 0x4f bytesC
MoDIS.exe!ShowCategory53Screen_int(unsigned short title=8372, unsigned short
title_icon=8231, unsigned short left_softkey=153, unsigned short right_softkey=29, int
number_of_items=2, unsigned char * * list_of_items=0x0eb7fcb4, unsigned short *
list_of_icons=0x0eb7fc2c, unsigned char * * list_of_descriptions=0x0eb7fc5c, int
flags=0, int highlighted_item=0, unsigned char * history_buffer=0x00000000) Line 11170
+ 0x3e bytesC
MoDIS.exe!mmi_phb_extra_number_list_entry() Line 4837 + 0x3d bytesC
目前SIM中FDN 有100条,而目前只能读出20条, 要保证100条都能读出来,该如何修改?
[SOLUTION]
首先先说明一下,FDN是存放在SIM卡上的固定拨号的联系人,要确保sim卡是支持100个联系人,手机端可以设置支持的最大的FDN个数,但最终,还是会 对比手机允许的最大个数及SIM允许的最大个数,以两个值中最小的那个为基准。
也就是说即使你把手机的个数设为100,但是sim卡只能支持10个,那就只能是10个,无法再添加,sim卡无位置可以存放。
以下提供修改方法如下:
1. makefile中 PHB_FDN_ENTRY = 100
2. PhbSrvGprot.h (plutoMMI\service\inc):#define SRV_PHB_XMGNT_SIM_ENTRIES 100
3. PhbXmgntSrv.c (plutommi\service\phbsrv)中
void srv_phb_xmgnt_read_fdn_to_ram_rsp(void *info, int mod_id)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
mmi_phb_get_entry_by_index_rsp_struct *local_ptr;
U16 i, index;
sim_interface_enum sim_id;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
...
///if (local_ptr->no_list == PHB_MAX_PHB_ENTRIES)//remove this line
if ((local_ptr->no_list == PHB_MAX_PHB_ENTRIES)&&
(g_srv_phb_fdn_cntx.fdn_list[sim_id].entry_count<MMI_PHB_FDN_ENTRIES))//add this line
{
srv_phb_xmgnt_read_fdn_to_ram_req(sim_id);
return;
}
...
}
4. 最后还要加上以下修改
Gui_typedef.h (plutommi\php?mod=tag&id=6090" target="_blank" class="relatedlink">Framework\gui\gui_inc):
#define MAX_FIXED_ICONTEXT_MENU_ITEMS LIMIT_MENU_ITEM_NUMBER(100)
GlobalConstants.h (plutommi\mmi\inc):
#define MAX_SUB_MENUS (100)
如果没有加上第四步的修改,在phonebook settin->extra number->FDN下面看到的FDN list中最多只能看到60个FDN联系人,看不到后面的40个。
因为代码中,最终会通过add_location_fixed_icontext_item去加载要显示在UI上的FDN联系人信息,这里面最多只能显示MAX_FIXED_ICONTEXT_MENU_ITEMS个item信息(目前代码中MAX_FIXED_ICONTEXT_MENU_ITEMS是设置为60的)
下面附上FDN联系人列表的call stack供参考
MoDIS.exe!add_location_fixed_icontext_item(int index=1, unsigned short * s=0x046ceeba,
unsigned char * img=0x02cdf428) Line 1472C
MoDIS.exe!wgui_fixed_list_add_icontext_one_item(int item_index=1, unsigned char *
text_of_item=0x046ceeba, unsigned char * icons=0x02cdf428, unsigned char *
text_of_description=0x046cee64) Line 4855 + 0x11 bytesC
MoDIS.exe!ShowCategory353Screen_ext_int(unsigned char * title=0x02834526, unsigned char
* title_icon=0x00000000, unsigned char * left_softkey=0x02832734, unsigned char *
right_softkey=0x02832744, int number_of_items=2, unsigned char * *
list_of_items=0x0eb7fcb4, unsigned short * list_of_icons=0x0eb7fc2c, unsigned char * *
list_of_descriptions=0x0eb7fc5c, int flags=0, int highlighted_item=0, unsigned char *
history_buffer=0x00000000) Line 11341 + 0x21 bytesC
MoDIS.exe!ShowCategory353Screen_int(unsigned char * title=0x02834526, unsigned short
title_icon=8231, unsigned short left_softkey=153, unsigned short right_softkey=29, int
number_of_items=2, unsigned char * * list_of_items=0x0eb7fcb4, unsigned short *
list_of_icons=0x0eb7fc2c, unsigned char * * list_of_descriptions=0x0eb7fc5c, int
flags=0, int highlighted_item=0, unsigned char * history_buffer=0x00000000) Line 11225
+ 0x4f bytesC
MoDIS.exe!ShowCategory53Screen_int(unsigned short title=8372, unsigned short
title_icon=8231, unsigned short left_softkey=153, unsigned short right_softkey=29, int
number_of_items=2, unsigned char * * list_of_items=0x0eb7fcb4, unsigned short *
list_of_icons=0x0eb7fc2c, unsigned char * * list_of_descriptions=0x0eb7fc5c, int
flags=0, int highlighted_item=0, unsigned char * history_buffer=0x00000000) Line 11170
+ 0x3e bytesC
MoDIS.exe!mmi_phb_extra_number_list_entry() Line 4837 + 0x3d bytesC