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

📄 jmmsmainmmsui.c

📁 MTK手机平台的MMI部分的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
    jdd_MemSetActiveModuleID(E_TASK_MMS_UI);

    EntryNewScreen(SCR_ID_JMMS_MAIN_MENU, NULL, mmi_jmms_entry_main_menu, NULL);
    mmi_jmms_reset_fw_flag_of_message();

    gui_buffer = GetCurrGuiBuffer(SCR_ID_JMMS_MAIN_MENU);
    num_item = GetNumOfChild(MESSAGES_MENU_MMS_MENUID);
    GetSequenceStringIds_Ext(MESSAGES_MENU_MMS_MENUID, str_item_list);
    GetSequenceImageIds_Ext(MESSAGES_MENU_MMS_MENUID, item_icons);
    SetParentHandler(MESSAGES_MENU_MMS_MENUID);
    RegisterHighlightHandler(ExecuteCurrHiliteHandler);

    ConstructHintsList(MESSAGES_MENU_MMS_MENUID, popup_list);

    /* reset the open msg status- for At delete */
    g_jmms_context->msg_open_status[0] = 0;
    g_jmms_context->msg_open_status[1] = 0;
	g_jmms_context->nCurr_scr_hilited_index = 0;

    ShowCategory52Screen(
        STR_MMS_MENUENTRY,
        GetRootTitleIcon(MAIN_MENU_MESSAGES_MENUID),
        STR_GLOBAL_OK,
        IMG_GLOBAL_OK,
        STR_GLOBAL_BACK,
        IMG_GLOBAL_BACK,
        num_item,
        str_item_list,
        item_icons,
        (U8 **) popup_list,
        0,
        0,
        gui_buffer);

    SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
    SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);

    mmi_jmms_delete_compose_temp_files();
}

#ifndef __MMI_UNIFIED_MESSAGE__


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_exit_main_menu
 * DESCRIPTION
 *  THis is the exit fn for main mms screen
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_exit_main_menu(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* /deinit_the store_module(gmsgcontext->store handle) */
}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_hint_inbox
 * DESCRIPTION
 *  This is the hint handler of inbox menu item
 * PARAMETERS
 *  index       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_hint_inbox(U16 index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 value[10];
    U8 number = 0;
    JC_RETCODE eRet = JC_OK;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    eRet = mmi_mms_get_number_of_messages(MMI_JMMS_INBOX, &number);
    if (eRet != JC_OK)
    {
        number = 0;
    }
/* MAUI_00018221 Start */    
	memset((PS8) hintData[index], 0, sizeof(hintData[index]));// sanjeev added
	sprintf((S8*) value, "%d ", number);	
    AnsiiToUnicodeString((S8*) hintData[index], (S8*) value);
	pfnUnicodeStrcat((PS8) hintData[index], (S8*) GetString(STR_ID_JMMS_MSGS));
/* MAUI_00018221 End */
}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_hint_outbox
 * DESCRIPTION
 *  This is the hint handler of outbox menu item
 * PARAMETERS
 *  index       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_hint_outbox(U16 index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 value[10];
    U8 number = 0;
    JC_RETCODE eRet = JC_OK;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    eRet = mmi_mms_get_number_of_messages(MMI_JMMS_OUTBOX, &number);
    if (eRet != JC_OK)
    {
        number = 0;
    }
/* MAUI_00018221 Start */    
	memset((PS8) hintData[index], 0, sizeof(hintData[index]));// sanjeev added
	sprintf((S8*) value, "%d ", number);	
    AnsiiToUnicodeString((S8*) hintData[index], (S8*) value);
	pfnUnicodeStrcat((PS8) hintData[index], (S8*) GetString(STR_ID_JMMS_MSGS));
/* MAUI_00018221 End */
}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_hint_sent
 * DESCRIPTION
 *  This is the hint handler of sent menu item
 * PARAMETERS
 *  index       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_hint_sent(U16 index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 value[10];
    U8 number = 0;
    JC_RETCODE eRet = JC_OK;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    eRet = mmi_mms_get_number_of_messages(MMI_JMMS_SENT, &number);
    if (eRet != JC_OK)
    {
        number = 0;
    }

/* MAUI_00018221 Start */    
	memset((PS8) hintData[index], 0, sizeof(hintData[index]));// sanjeev added
	sprintf((S8*) value, "%d ", number);	
    AnsiiToUnicodeString((S8*) hintData[index], (S8*) value);
	pfnUnicodeStrcat((PS8) hintData[index], (S8*) GetString(STR_ID_JMMS_MSGS));
/* MAUI_00018221 End */
}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_hint_drafts
 * DESCRIPTION
 *  This is the hint handler of drafts menu item
 * PARAMETERS
 *  index       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_hint_drafts(U16 index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 value[10];
    U8 number = 0;
    JC_RETCODE eRet = JC_OK;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    eRet = mmi_mms_get_number_of_messages(MMI_JMMS_DRAFTS, &number);
    if (eRet != JC_OK)
    {
        number = 0;
    }

/* MAUI_00018221 Start */    
	memset((PS8) hintData[index], 0, sizeof(hintData[index]));// sanjeev added
	sprintf((S8*) value, "%d ", number);	
    AnsiiToUnicodeString((S8*) hintData[index], (S8*) value);
	pfnUnicodeStrcat((PS8) hintData[index], (S8*) GetString(STR_ID_JMMS_MSGS));
/* MAUI_00018221 End */
}

#endif /* __MMI_UNIFIED_MESSAGE__ */ 


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_folder_list_highlight_hdlr
 * DESCRIPTION
 *  This is the highlight handler menu items of main mms screen
 * PARAMETERS
 *  index       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_folder_list_highlight_hdlr(S32 index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    g_jmms_context->nCurr_scr_hilited_index = (U8) index;
}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_get_folder_msg_list
 * DESCRIPTION
 *  
 * PARAMETERS
 *  msgs_list           [IN]        
 *  foldername          [?]         [?]         [?]
 *  total_num_msgs      [IN]        
 * RETURNS
 *  
 *****************************************************************************/
JC_RETCODE mmi_jmms_get_folder_msg_list(jmms_folder_msgs_list **msgs_list, S8 *foldername, U8 total_num_msgs)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    JC_RETCODE eRet = JC_OK;
    RETRIEVE_FILTERS StoreRetFilter = {0, };
    MESSAGE_LIST *pMessageList = NULL;
    MESSAGE_LIST *pTempMsgList = NULL;
    jmms_folder_msgs_list *msgs_list_node = NULL;

#ifdef __MMI_UNIFIED_MESSAGE__
    S32 msg_counter = 0;
    um_jmms_attachment_present_list *temp_pending_list_p = NULL;
#endif /* __MMI_UNIFIED_MESSAGE__ */ 

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    StoreRetFilter.uiStartIndex = g_jmms_context->store_context->jmms_start_index;
    StoreRetFilter.eRetrieve = E_RETRIEVE_BY_INDEX;

    if (g_jmms_context->store_context->jmms_start_index <= total_num_msgs)
    {

        if ((StoreRetFilter.uiStartIndex + NUM_MSGS_IN_ONE_UNIT - 1) < total_num_msgs)
        {
            StoreRetFilter.uiNumMessage = NUM_MSGS_IN_ONE_UNIT;
        }
        else
        {
            StoreRetFilter.uiNumMessage = total_num_msgs - StoreRetFilter.uiStartIndex + 1;
        }

        eRet = mmi_jmms_get_messages_list(foldername, &pTempMsgList, &StoreRetFilter);
        if (eRet != JC_OK || pTempMsgList == NULL)
        {
            return JC_ERR_MEMORY_ALLOCATION;
        }

    }

    pMessageList = pTempMsgList;
#ifdef __MMI_UNIFIED_MESSAGE__
    msg_counter = total_num_msgs;   /* StoreRetFilter.uiStartIndex + StoreRetFilter.uiNumMessage - 1; */
#endif 
    while (pMessageList != NULL)
    {
    #ifdef __MMI_UNIFIED_MESSAGE__
        MMI_BOOL is_parsing_check_required = MMI_FALSE;
    #endif 
        msgs_list_node = (jmms_folder_msgs_list*) jdd_MemAlloc(sizeof(jmms_folder_msgs_list), 1);
        if (msgs_list_node == NULL)
        {
            return JC_ERR_MEMORY_ALLOCATION;
        }
    #ifdef __MMI_UNIFIED_MESSAGE__
        msgs_list_node->um_msg_info = (mmi_um_msg_info_struct*) jdd_MemAlloc(sizeof(mmi_um_msg_info_struct), 1);
        if (msgs_list_node->um_msg_info == NULL)
        {
            mmi_jmms_free_attacment_pending_status_list();
            temp_pending_list_p = NULL;
            return JC_ERR_MEMORY_ALLOCATION;
        }
    #endif /* __MMI_UNIFIED_MESSAGE__ */ 
        switch (pMessageList->pMessageHeaders->eMsgType)
        {
            case E_MSG_TYPE_NOTIFICATION:
            {
                MESSAGE_NOTIFICATION *notification_p;
				#ifndef __MMI_UNIFIED_MESSAGE__
                S32 len = 0;
				#endif

                notification_p = (MESSAGE_NOTIFICATION*) (pMessageList->pMessageHeaders->pHeaders);
                msgs_list_node->msg_type = E_MSG_NOTIFICATION;

                if (notification_p->pSubject == NULL)
                {
                #ifdef __MMI_UNIFIED_MESSAGE__
                    mmi_um_jmms_add_mms_sub_for_list_info(
                        &msgs_list_node->um_msg_info,
                        (JC_CHAR*) GetString(STR_ID_NO_SUBJECT),
                        (msg_counter - StoreRetFilter.uiStartIndex));
                #else /* __MMI_UNIFIED_MESSAGE__ */ 
                    msgs_list_node->subject_as_caption = (S8*) GetString(STR_ID_NO_SUBJECT);
                #endif /* __MMI_UNIFIED_MESSAGE__ */ 
                }
                else
                {
                #ifdef __MMI_UNIFIED_MESSAGE__
                    mmi_um_jmms_add_mms_sub_for_list_info(
                        &msgs_list_node->um_msg_info,
                        (JC_CHAR*) (notification_p->pSubject),
                        (msg_counter - StoreRetFilter.uiStartIndex));
                #else /* __MMI_UNIFIED_MESSAGE__ */ 
                    len = (pfnUnicodeStrlen((S8*) (notification_p->pSubject)) + 1) * ENCODING_LENGTH;

                    if (len > (MAX_SUBJECT_LENGTH * ENCODING_LENGTH))
                    {
                        len = (MAX_SUBJECT_LENGTH + 1) * ENCODING_LENGTH;
                    }

                    msgs_list_node->subject_as_caption = (S8*) jdd_MemAlloc(sizeof(S8), len);
                    if (msgs_list_node->subject_as_caption == NULL)
                    {
                        jdd_MemFree(msgs_list_node);
                        return JC_ERR_MEMORY_ALLOCATION;
                    }
                    memcpy(
                        (S8*) (msgs_list_node->subject_as_caption),
                        (S8*) (notification_p->pSubject),
                        len - ENCODING_LENGTH);
                #endif /* __MMI_UNIFIED_MESSAGE__ */ 
                }

            #ifdef __MMI_UNIFIED_MESSAGE__
                if (notification_p->pFrom != NULL)
                {
                    mmi_um_jmms_add_mms_address_for_list_info(
                        &msgs_list_node->um_msg_info,
                        notification_p->pFrom,
                        (msg_counter - StoreRetFilter.uiStartIndex));
                }
                msgs_list_node->um_msg_info->timestamp = (*notification_p).uiReceivedTime;
                is_parsing_check_required = MMI_FALSE;
            #else /* __MMI_UNIFIED_MESSAGE__ */ 
                if (notification_p->pFrom != NULL)
                {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -