⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmmsumhandling.c

📁 MTK手机平台的MMI部分的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
                (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 + -