芯方式

紧急电话显示错误

0
阅读(1020)

[DESCRIPTION]
海外测试时, 测试终端拨打 112、911 后拨出界面不显示 "Emergency” 而显示 112、911.
[SOLUTION]
ecc_custom_verify_emergency_number 会到 SIM 中获取 ECC Name.
if (kal_dchar_strcmp((char*) ecc_verify, (char*) sim_context->ecc_number) == 0)
{
#ifdef __REL5__
if (ecc_category != NULL) *ecc_category = sim_context->ecc_category;
#ifdef PLUTO_MMI
if (ecc_display != NULL) *ecc_display = sim_context->ecc_display;
#endif
#endif /* __REL5__ */
if (verify_detail != NULL) *verify_detail = ECC_FULLY_MATCH;
return KAL_TRUE;
}
srv_phb_get_caller_info_by_number 中会将 SIM 中获取的 ECC Name 显示给 User.
MMI_BOOL srv_phb_get_caller_info_by_number(
srv_phb_cm_number_struct *cm_param,
srv_phb_caller_info_struct *phb_info)
{
...
if (ecc_custom_verify_emergency_number(
(U8*) cm_param->number,
(U8) mmi_wcslen(cm_param->number),
ECC_ENCODING_UCS2,
(ecc_call_type_enum) cm_param->call_type,
NULL,
&ecc_display_ptr,
NULL))
{
if (mmi_ucs2strlen((S8*) ecc_display_ptr) == 0)
{
mmi_ucs2ncpy((PS8) phb_info->name, GetString(STR_EMERGENCY_NUMBER),
MMI_PHB_NAME_LENGTH);
}
else
{
mmi_ucs2ncpy((PS8) phb_info->name, (PS8) ecc_display_ptr, MMI_PHB_NAME_LENGTH);
}
return MMI_TRUE;
}
...
}
解决IC方法是:
if (mmi_ucs2strlen((S8*) ecc_display_ptr) == 0)
{
mmi_ucs2ncpy((PS8) phb_info->name, GetString(STR_EMERGENCY_NUMBER),
MMI_PHB_NAME_LENGTH);
}
else
{
mmi_ucs2ncpy((PS8) phb_info->name, (PS8) ecc_display_ptr, MMI_PHB_NAME_LENGTH);
}
return MMI_TRUE;
修改为:
mmi_ucs2ncpy((PS8) phb_info->name, GetString(STR_EMERGENCY_NUMBER), MMI_PHB_NAME_LENGTH);
return MMI_TRUE;
也就是任何时候都显示 STR_EMERGENCY_NUMBER


来自半导体社区