〖FAQ〗MT2503 FDN如何修改成100条?

〖FAQ〗MT2503 FDN如何修改成100条?

MT2503 FDN如何修改成100条?

[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\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

〖FAQ〗MT2503 FDN如何修改成100条?

以上问题可以了解哦,万一用得上呢~

〖FAQ〗MT2503 FDN如何修改成100条?

问题

结束啦

我们下次再见啦~

〖FAQ〗MT2503 FDN如何修改成100条?

一牛网在线

总有些内容值得分享

科技|手机|干货|技术众包

长按二维码关注我们