📄 jmmsusedetailsui.c
字号:
SetRightSoftkeyFunction(mmi_jmms_back_from_use_details_main_screen, KEY_EVENT_UP);
SetKeyHandler(mmi_jmms_back_from_use_details_main_screen, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_back_from_use_details_main_screen
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_back_from_use_details_main_screen(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
mmi_jmms_free_use_details_adrresses_list();
GoBackHistory();
}
#endif /* __MMI_UNIFIED_MESSAGE__ */
/*****************************************************************************
* FUNCTION
* mmi_jmms_create_use_details_addresses_list
* DESCRIPTION
*
* PARAMETERS
* from [IN]
* to [IN]
* cc [IN]
* bcc [IN]
* RETURNS
* void
*****************************************************************************/
void mmi_jmms_create_use_details_addresses_list(JC_CHAR *from, JC_CHAR *to, JC_CHAR *cc, JC_CHAR *bcc)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
mms_addresses_list *node = NULL;
S32 len_to_copy = 0;
S8 *str = NULL;
S32 len = 0;
S32 start_index = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
/* MAUI_00018175 Start */
if (g_jmms_context->view_context != NULL &&
g_jmms_context->view_context->focus_object_type == E_MSG_FOCUS_PHONE_NUMBER)
/* MAUI_00018175 End */
{
ACTIVE_MEDIA_INFO activeMediaInfo;
mmi_jmms_jdi_get_active_media_info(g_jmms_context->msg_handle, &activeMediaInfo);
node = (mms_addresses_list*) jdd_MemAlloc(sizeof(mms_addresses_list), 1);
if (node == NULL)
{
DisplayPopup(
(U8*) GetString(STR_ID_JMMS_OUT_OF_MEMORY),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
(U8) ERROR_TONE);
mmi_jmms_free_use_details_adrresses_list();
return;
}
node->is_email = MMI_FALSE;
len_to_copy = MAX_POSSIBLE_NUMBER_LENGHT_SENT;
node->address = (S8*) jdd_MemAlloc(sizeof(S8), (len_to_copy + 1) * ENCODING_LENGTH);
if (node->address == NULL)
{
DisplayPopup(
(U8*) GetString(STR_ID_JMMS_OUT_OF_MEMORY),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
(U8) ERROR_TONE);
/* HIMANSHU Memory Leak Fix Start */
if (node != NULL)
{
jdd_MemFree(node);
node = NULL;
}
/* HIMANSHU Memory Leak Fix End */
mmi_jmms_free_use_details_adrresses_list();
return;
}
pfnUnicodeStrncpy((S8*) node->address, (S8*) activeMediaInfo.LinkInfo.pLinkText, len_to_copy);
/* HIMANSHU Memory Leak Fix Start */
if (g_jmms_use_details.addresses_list != NULL)
{
mmi_jmms_free_use_details_adrresses_list();
}
g_jmms_use_details.addresses_list = node;
/* HIMANSHU Memory Leak Fix End */
}
if (from != NULL)
{
str = (S8*) (from);
len = 0;
start_index = 0;
node = NULL;
while (pfnUnicodeStrcmp(str, "\0") != 0)
{
node = (mms_addresses_list*) jdd_MemAlloc(sizeof(mms_addresses_list), 1);
if (node == NULL)
{
DisplayPopup(
(U8*) GetString(STR_ID_JMMS_OUT_OF_MEMORY),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
(U8) ERROR_TONE);
mmi_jmms_free_use_details_adrresses_list();
return;
}
node->is_email = MMI_FALSE;
while (((*str) != ';') && ((*str) != '\0'))
{
if ((*str) == '@')
{
node->is_email = MMI_TRUE;
}
len++;
str = str + ENCODING_LENGTH;
}
if (node->is_email == MMI_FALSE && len > (MAX_POSSIBLE_NUMBER_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_NUMBER_LENGHT_SENT;
}
else if (node->is_email == MMI_TRUE && len > (MAX_POSSIBLE_EMAIL_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_EMAIL_LENGHT_SENT;
}
else
{
len_to_copy = len;
}
node->address = (S8*) jdd_MemAlloc(sizeof(S8), (len_to_copy + 1) * ENCODING_LENGTH);
if (node->address == NULL)
{
DisplayPopup(
(U8*) GetString(STR_ID_JMMS_OUT_OF_MEMORY),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
(U8) ERROR_TONE);
/* HIMANSHU Memory Leak Fix Start */
if (node != NULL)
{
jdd_MemFree(node);
node = NULL;
}
/* HIMANSHU Memory Leak Fix End */
mmi_jmms_free_use_details_adrresses_list();
return;
}
pfnUnicodeStrncpy((S8*) node->address, (S8*) (from + start_index), len_to_copy);
if (g_jmms_use_details.addresses_list == NULL)
{
g_jmms_use_details.addresses_list = node;
}
else
{
mms_addresses_list *temp, *temp1;
MMI_BOOL is_duplicate = MMI_FALSE;
temp = g_jmms_use_details.addresses_list;
while (temp != NULL)
{
if (pfnUnicodeStrcmp((S8*) (node->address), (S8*) (temp->address)) == 0)
{
is_duplicate = MMI_TRUE;
break;
}
temp1 = temp;
temp = temp->next;
}
/* HIMANSHU Memory Leak Fix Start */
if (is_duplicate == MMI_FALSE)
{
temp1->next = node;
}
else
{
if (node != NULL)
{
if (node->address != NULL)
{
jdd_MemFree(node->address);
node->address = NULL;
}
jdd_MemFree(node);
node = NULL;
}
}
/* HIMANSHU Memory Leak Fix End */
}
start_index = start_index + len + 1;
len = 0;
node = NULL;
if ((*str) != '\0')
{
str = str + ENCODING_LENGTH;
}
}
}
if (to != NULL)
{
str = (S8*) (to);
len = 0;
start_index = 0;
node = NULL;
while (pfnUnicodeStrcmp(str, "\0") != 0)
{
node = (mms_addresses_list*) jdd_MemAlloc(sizeof(mms_addresses_list), 1);
if (node == NULL)
{
DisplayPopup(
(U8*) GetString(STR_ID_JMMS_OUT_OF_MEMORY),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
(U8) ERROR_TONE);
mmi_jmms_free_use_details_adrresses_list();
return;
}
node->is_email = MMI_FALSE;
while (((*str) != ';') && ((*str) != '\0'))
{
if ((*str) == '@')
{
node->is_email = MMI_TRUE;
}
len++;
str = str + ENCODING_LENGTH;
}
if (node->is_email == MMI_FALSE && len > (MAX_POSSIBLE_NUMBER_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_NUMBER_LENGHT_SENT;
}
else if (node->is_email == MMI_TRUE && len > (MAX_POSSIBLE_EMAIL_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_EMAIL_LENGHT_SENT;
}
else
{
len_to_copy = len;
}
node->address = (S8*) jdd_MemAlloc(sizeof(S8), (len_to_copy + 1) * ENCODING_LENGTH);
if (node->address == NULL)
{
DisplayPopup(
(U8*) GetString(STR_ID_JMMS_OUT_OF_MEMORY),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
(U8) ERROR_TONE);
/* HIMANSHU Memory Leak Fix Start */
if (node != NULL)
{
jdd_MemFree(node);
node = NULL;
}
/* HIMANSHU Memory Leak Fix End */
mmi_jmms_free_use_details_adrresses_list();
return;
}
pfnUnicodeStrncpy((S8*) node->address, (S8*) (to + start_index), len_to_copy);
if (g_jmms_use_details.addresses_list == NULL)
{
g_jmms_use_details.addresses_list = node;
}
else
{
mms_addresses_list *temp, *temp1;
MMI_BOOL is_duplicate = MMI_FALSE;
temp = g_jmms_use_details.addresses_list;
while (temp != NULL)
{
if (pfnUnicodeStrcmp((S8*) (node->address), (S8*) (temp->address)) == 0)
{
is_duplicate = MMI_TRUE;
break;
}
temp1 = temp;
temp = temp->next;
}
/* HIMANSHU Memory Leak Fix Start */
if (is_duplicate == MMI_FALSE)
{
temp1->next = node;
}
else
{
if (node != NULL)
{
if (node->address != NULL)
{
jdd_MemFree(node->address);
node->address = NULL;
}
jdd_MemFree(node);
node = NULL;
}
}
/* HIMANSHU Memory Leak Fix End */
}
start_index = start_index + len + 1;
len = 0;
node = NULL;
if ((*str) != '\0')
{
str = str + ENCODING_LENGTH;
}
}
}
if (cc != NULL)
{
str = (S8*) (cc);
len = 0;
start_index = 0;
node = NULL;
while (pfnUnicodeStrcmp(str, "\0") != 0)
{
node = (mms_addresses_list*) jdd_MemAlloc(sizeof(mms_addresses_list), 1);
if (node == NULL)
{
DisplayPopup(
(U8*) GetString(STR_ID_JMMS_OUT_OF_MEMORY),
IMG_GLOBAL_ERROR,
1,
JMMS_POPUP_TIME,
(U8) ERROR_TONE);
mmi_jmms_free_use_details_adrresses_list();
return;
}
node->is_email = MMI_FALSE;
while (((*str) != ';') && ((*str) != '\0'))
{
if ((*str) == '@')
{
node->is_email = MMI_TRUE;
}
len++;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -