📄 jmmsumhandling.c
字号:
(U32) mmi_jmms_get_message_id(
MMI_JMMS_INBOX,
g_jmms_context->store_context->nMsgs_in_Current_folder - g_jmms_context->nCurr_scr_hilited_index);
g_jmms_context->last_scr_id = 0; /* To fix LSK option issue for Notification, RReport,DReport & JSR Mesages */
mmi_jmms_inbox_view();
break;
case UM_MSG_BOX_TYPE_UNSENT:
mmi_mms_get_number_of_messages(MMI_JMMS_OUTBOX, &total_msgs);
g_jmms_context->store_context->nMsgs_in_Current_folder = total_msgs;
g_jmms_context->store_context->update_nmsgs_in_current_folder = 0;
g_jmms_context->store_context->current_folder_name = E_JMMS_OUTBOX;
g_jmms_context->store_context->jmms_start_index = 1;
/* set the open msg status- for At delete */
g_jmms_context->msg_open_status[0] = E_JMMS_OUTBOX;
g_jmms_context->msg_open_status[1] =
(U32) mmi_jmms_get_message_id(
MMI_JMMS_OUTBOX,
g_jmms_context->store_context->nMsgs_in_Current_folder - g_jmms_context->nCurr_scr_hilited_index);
mmi_jmms_outbox_view();
break;
case UM_MSG_BOX_TYPE_SENT:
mmi_mms_get_number_of_messages(MMI_JMMS_SENT, &total_msgs);
g_jmms_context->store_context->nMsgs_in_Current_folder = total_msgs;
g_jmms_context->store_context->update_nmsgs_in_current_folder = 0;
g_jmms_context->store_context->current_folder_name = E_JMMS_SENT;
g_jmms_context->store_context->jmms_start_index = 1;
/* set the open msg status- for At delete */
g_jmms_context->msg_open_status[0] = E_JMMS_SENT;
g_jmms_context->msg_open_status[1] =
(U32) mmi_jmms_get_message_id(
MMI_JMMS_SENT,
g_jmms_context->store_context->nMsgs_in_Current_folder - g_jmms_context->nCurr_scr_hilited_index);
mmi_um_jmms_set_folder_list_callback_function(mmi_jmms_sent_view);
mmi_jmms_sent_view();
break;
case UM_MSG_BOX_TYPE_DRAFT:
mmi_mms_get_number_of_messages(MMI_JMMS_DRAFTS, &total_msgs);
g_jmms_context->store_context->nMsgs_in_Current_folder = total_msgs;
g_jmms_context->store_context->update_nmsgs_in_current_folder = 0;
g_jmms_context->store_context->current_folder_name = E_JMMS_DRAFTS;
g_jmms_context->store_context->jmms_start_index = 1;
/* set the open msg status- for At delete */
g_jmms_context->msg_open_status[0] = E_JMMS_DRAFTS;
g_jmms_context->msg_open_status[1] =
(U32) mmi_jmms_get_message_id(
MMI_JMMS_DRAFTS,
g_jmms_context->store_context->nMsgs_in_Current_folder - g_jmms_context->nCurr_scr_hilited_index);
mmi_jmms_drafts_view();
break;
}
}
/*****************************************************************************
* FUNCTION
* mmi_um_jmms_free_msgs_list
* DESCRIPTION
*
* PARAMETERS
* void
* RETURNS
* void
*****************************************************************************/
void mmi_um_jmms_free_msgs_list(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
jmms_folder_msgs_list *list;
jmms_folder_msgs_list *list1;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (g_jmms_context->store_context != NULL && g_jmms_context->store_context->messages_list != NULL)
{
list = g_jmms_context->store_context->messages_list;
while (list != NULL)
{
list1 = list->next;
if (list->um_msg_info != NULL && list->um_msg_info->msg_index != g_jmms_context->nCurr_scr_hilited_index)
{
jdd_MemFree(list->um_msg_info);
list->um_msg_info = NULL;
}
list = list1;
}
}
}
/*****************************************************************************
* FUNCTION
* mmi_um_jmms_create_new_mms_hint_for_sent
* DESCRIPTION
*
* PARAMETERS
* mms_info_rsp [IN]
* to [?]
* cc [?]
* bcc [?]
* msg_counter [IN]
* RETURNS
* void
*****************************************************************************/
void mmi_um_jmms_create_new_mms_hint_for_sent(
mmi_um_msg_info_struct **mms_info_rsp,
JC_CHAR *to,
JC_CHAR *cc,
JC_CHAR *bcc,
S32 msg_counter)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S8 *str = NULL;
S32 len = 0;
S32 start_index = 0;
MMI_BOOL is_email = MMI_FALSE;
S32 len_to_copy = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (to != NULL)
{
str = (S8*) (to);
len = 0;
start_index = 0;
while (((*str) != ';') && ((*str) != '\0'))
{
if ((*str) == '@')
{
is_email = MMI_TRUE;
}
len++;
str = str + ENCODING_LENGTH;
}
if (is_email == MMI_FALSE && len > (MAX_POSSIBLE_NUMBER_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_NUMBER_LENGHT_SENT;
}
else if (is_email == MMI_TRUE && len > (MAX_POSSIBLE_EMAIL_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_EMAIL_LENGHT_SENT;
}
else
{
len_to_copy = len;
}
if (is_email == MMI_TRUE)
{
(*mms_info_rsp)->address_type = UM_ADDR_TYPE_EMAIL_ADDRESS;
}
else
{
(*mms_info_rsp)->address_type = UM_ADDR_TYPE_PHONE_NUMBER;
}
pfnUnicodeStrncpy((S8*) (*mms_info_rsp)->address, (S8*) (to + start_index), len_to_copy);
(*mms_info_rsp)->address_length = len_to_copy;
return;
}
if (cc != NULL)
{
str = (S8*) (cc);
len = 0;
start_index = 0;
is_email = MMI_FALSE;
while (((*str) != ';') && ((*str) != '\0'))
{
len++;
if ((*str) == '@')
{
is_email = MMI_TRUE;
}
str = str + ENCODING_LENGTH;
}
if (is_email == MMI_FALSE && len > (MAX_POSSIBLE_NUMBER_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_NUMBER_LENGHT_SENT;
}
else if (is_email == MMI_TRUE && len > (MAX_POSSIBLE_EMAIL_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_EMAIL_LENGHT_SENT;
}
else
{
len_to_copy = len;
}
if (is_email == MMI_TRUE)
{
(*mms_info_rsp)->address_type = UM_ADDR_TYPE_EMAIL_ADDRESS;
}
else
{
(*mms_info_rsp)->address_type = UM_ADDR_TYPE_PHONE_NUMBER;
}
pfnUnicodeStrncpy((S8*) (*mms_info_rsp)->address, (S8*) (cc + start_index), len_to_copy);
(*mms_info_rsp)->address_length = len_to_copy;
return;
}
/* /Make the BCc Addresses list */
if (bcc != NULL)
{
str = (S8*) (bcc);
len = 0;
start_index = 0;
is_email = MMI_FALSE;
while (((*str) != ';') && ((*str) != '\0'))
{
len++;
if ((*str) == '@')
{
is_email = MMI_TRUE;
}
str = str + ENCODING_LENGTH;
}
if (is_email == MMI_FALSE && len > (MAX_POSSIBLE_NUMBER_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_NUMBER_LENGHT_SENT;
}
else if (is_email == MMI_TRUE && len > (MAX_POSSIBLE_EMAIL_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_EMAIL_LENGHT_SENT;
}
else
{
len_to_copy = len;
}
if (is_email == MMI_TRUE)
{
(*mms_info_rsp)->address_type = UM_ADDR_TYPE_EMAIL_ADDRESS;
}
else
{
(*mms_info_rsp)->address_type = UM_ADDR_TYPE_PHONE_NUMBER;
}
pfnUnicodeStrncpy((S8*) (*mms_info_rsp)->address, (S8*) (bcc + start_index), len_to_copy);
(*mms_info_rsp)->address_length = len_to_copy;
return;
}
(*mms_info_rsp)->address_length = 0;
return;
}
/*****************************************************************************
* FUNCTION
* mmi_um_jmms_add_mms_sub_for_list_info
* DESCRIPTION
*
* PARAMETERS
* mms_info_rsp [IN]
* subject_p [?]
* msg_counter [IN]
* RETURNS
* void
*****************************************************************************/
void mmi_um_jmms_add_mms_sub_for_list_info(mmi_um_msg_info_struct **mms_info_rsp, JC_CHAR *subject_p, S32 msg_counter)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S32 len_to_copy = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
len_to_copy = pfnUnicodeStrlen((S8*) (subject_p)) * ENCODING_LENGTH;
if (len_to_copy > MMI_UM_MAX_SUBJECT_LEN)
{
len_to_copy = MMI_UM_MAX_SUBJECT_LEN;
}
pfnUnicodeStrncpy((S8*) (*mms_info_rsp)->subject, (S8*) (subject_p), len_to_copy);
(*mms_info_rsp)->subject_length = len_to_copy;
return;
}
/*****************************************************************************
* FUNCTION
* mmi_um_jmms_add_mms_address_for_list_info
* DESCRIPTION
*
* PARAMETERS
* mms_info_p [IN]
* from_p [?]
* msg_counter [IN]
* RETURNS
* void
*****************************************************************************/
void mmi_um_jmms_add_mms_address_for_list_info(mmi_um_msg_info_struct **mms_info_p, JC_CHAR *from_p, S32 msg_counter)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S8 *str = NULL;
S32 len = 0;
S32 start_index = 0;
MMI_BOOL is_email = MMI_FALSE;
S32 len_to_copy = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (from_p != NULL)
{
str = (S8*) (from_p);
len = 0;
start_index = 0;
while (((*str) != ';') && ((*str) != '\0'))
{
if ((*str) == '@')
{
is_email = MMI_TRUE;
}
len++;
str = str + ENCODING_LENGTH;
}
if (is_email == MMI_FALSE && len > (MAX_POSSIBLE_NUMBER_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_NUMBER_LENGHT_SENT;
}
else if (is_email == MMI_TRUE && len > (MAX_POSSIBLE_EMAIL_LENGHT_SENT))
{
len_to_copy = MAX_POSSIBLE_EMAIL_LENGHT_SENT;
}
else
{
len_to_copy = len;
}
if (is_email == MMI_TRUE)
{
(*mms_info_p)->address_type = UM_ADDR_TYPE_EMAIL_ADDRESS;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -