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

📄 jmmstemplatesui.c

📁 MTK手机平台的MMI部分的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
    len = pfnUnicodeStrlen((S8*) subject);

    g_jmms_context->subject = (S8*) jdd_MemAlloc(sizeof(S8), (len + 1) * ENCODING_LENGTH);

    if ((g_jmms_context->subject == NULL) && (len != 0))
    {
        mmi_jmms_free_mms_pdu_memory(g_jmms_context);
        eRet = JC_ERR_MEMORY_ALLOCATION;
        goto END;
    }

    if (g_jmms_context->subject)
    {
        pfnUnicodeStrcpy((S8*) g_jmms_context->subject, (S8*) subject);
        pMessageSend->pSubject = (JC_CHAR*) g_jmms_context->subject;
    }

    pMessageSend->uiDate = 0;
    pMessageSend->pFrom = NULL;

    pMsgHeaders->eMsgType = E_MSG_TYPE_SEND;
    pMsgHeaders->pHeaders = pMessageSend;

    if (JMMS_COMP_OK == mmi_jmms_compose_new_mms())
    {

        g_jmms_context->compose_context->mms_bg_color = g_jmms_color_RGB_list[COLOR_WHITE];
        /* Added by Deepali for root layout. */
        err_code = mmi_jmms_set_bg_color(g_jmms_context->compose_context->mms_bg_color);
        if ((err_code == JMMS_COMP_OUT_MEMORY) || (err_code == JMMS_COMP_FAIL))
        {
            eRet = mmi_jmms_jdi_msg_deinit(g_jmms_context->msg_handle);
            g_jmms_context->msg_handle = NULL;
            eRet = JC_ERR_MEMORY_ALLOCATION;
            goto END;
        }

        g_jmms_context->compose_context->curr_page_index = 0;
        err_code = mmi_jmms_compose_insert_slide();
        /* PMT HIMANSHU END 20060425 */
        if ((err_code == JMMS_COMP_OUT_MEMORY) || (err_code == JMMS_COMP_FAIL))
        {
            eRet = mmi_jmms_jdi_msg_deinit(g_jmms_context->msg_handle);
            g_jmms_context->msg_handle = NULL;
            eRet = JC_ERR_MEMORY_ALLOCATION;
            goto END;
        }
    }
    else
    {
        mmi_jmms_free_mms_pdu_memory(g_jmms_context);
        goto END;
    }

    eRet = mmi_jmms_jdi_set_msg_headers(g_jmms_context->msg_handle, pMsgHeaders);
    if (JC_OK != eRet)
    {
        mmi_jmms_free_mms_pdu_memory(g_jmms_context);
        goto END;
    }
	g_jmms_context->layout=CUSTOM_LAYOUT;
    jc_tcscpy(
        (UI_character_type*) g_jmms_context->compose_context->curr_slide_info.edit_content_buffer,
        (UI_character_type*) subject);

    mmi_jmms_compose_add_text(
        1,
        &g_jmms_context->compose_context->curr_slide_info.slide_prop.text_font,
        g_jmms_context->compose_context->curr_slide_info.slide_prop.text_color,1);

	/* TODO: Need to see if the image is out of content class */
    img_info.pImgBuffer = image_buff;

    mmi_jdd_ui_get_image_buffer_size(&img_info);

    /* mmi_jmms_compose_add_media_buffer(U8 *buffer, U32 size, U8 type,U8 is_attachment, U8 page_index) */
    mmi_jmms_compose_add_media_template(
        img_info.pImgBuffer,
        (U8*) img_info.psMimeType,
        img_info.uiImgSize,
        E_MEDIA_IMAGE,
        E_FALSE,
        1);

    if (img_info.psMimeType != NULL)
    {
        jdd_MemFree(img_info.psMimeType);
    }
	if(WAP_MMS_CONTENT_CLASS_IMAGE_BASIC != wap_get_mms_content_class())
	{
		mmi_jmms_compose_add_media_template(audio_buff, (U8*) content_type_audio, audio_len, E_MEDIA_AUDIO, E_FALSE, 1);
	}
    eRet = mmi_jmms_save_mms(
            "Templates",
            g_jmms_context->msg_handle,
            MMI_FALSE,
            0,
            mmi_jmms_create_template_mms_return_callback);
    if (eRet == JC_ERR_MMS_ENCODE_PENDING)
    {
        return eRet;
    }
    else if(eRet!= JC_OK)
    {
        PRINT_INFORMATION_2((MMI_TRACE_INFO, "Parsing Failed: mmi_jmms_create_template_mms"));
        if(g_jmms_context->is_in_format_mode)
        {
            g_jmms_context->init_done = JMMS_TEMPLATES_INITIALIZED;
            PRINT_INFORMATION_2((MMI_TRACE_INFO, "mmi_jmms_create_template_mms: %d",g_jmms_context->init_done ));
        }

    }

  END:
    mmi_jmms_create_template_mms_return_callback(eRet);
    return eRet;

}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_create_template_mms_return_callback
 * DESCRIPTION
 *  
 * PARAMETERS
 *  eRet        [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_create_template_mms_return_callback(JC_RETCODE eRet)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 total_num_msgs = 0;
#ifdef _MUTILANG_TEMPLATE_  
    U16 language_change =0;
    S16 error;
#endif

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    PRINT_INFORMATION_2((MMI_TRACE_INFO, "create_template_mms_return_callback: %d count:%d", eRet, gtemplate_count));
    if (eRet != JC_OK && g_jmms_context->msg_handle != NULL)
    {
        mmi_jmms_deinit_mms_context(g_jmms_context);
        mmi_jmms_free_mms_pdu_memory(g_jmms_context);
    }

    if (eRet != JC_OK)
    {
        g_jmms_context->init_done = JMMS_INITIALIZED;
        mmi_jmms_delete_all_message("Templates");
        if(GetActiveScreenId() == SCR_ID_JMMS_PROGRESS)
        {
            DisplayPopup((U8*) GetString(STR_ID_JMMS_MEMORY_FULL), IMG_GLOBAL_ERROR, 1, JMMS_POPUP_TIME, (U8) ERROR_TONE);
            DeleteScreenIfPresent(SCR_ID_JMMS_PROGRESS);
        }
        else
        {
            DeleteScreenIfPresent(SCR_ID_JMMS_PROGRESS);
        }
    }
    else
    {
        gtemplate_count++;
        if (gtemplate_count < __MMI_MMS_TEMPLATES_NUM__)
        {
            mmi_jmms_create_template_messages();
            g_jmms_context->layout = DEFAULT_LAYOUT;	
            return;
        }
        else
        {
            eRet = mmi_mms_get_number_of_messages(MMI_JMMS_TEMPLATES, &total_num_msgs);
            if (eRet != JC_OK)
            {
                ASSERT(0);
            }

            if (total_num_msgs == 0)
            {
                if(GetActiveScreenId() == SCR_ID_JMMS_PROGRESS)
                {
                    DisplayPopup((U8*) GetString(STR_GLOBAL_EMPTY), IMG_GLOBAL_EMPTY, 1, JMMS_POPUP_TIME, EMPTY_LIST_TONE);
                }
                if (g_jmms_context->init_done == JMMS_INITIALIZED)
                {
                    g_jmms_context->init_done = JMMS_READY;
                    PRINT_INFORMATION_2((MMI_TRACE_INFO, "mmi_jmms_create_template_mms_return_callback: 0 MMS"));
                    if(g_jmms_context->is_in_format_mode)
                    {
                        wap_send_fmt_format_rsp();
                        g_jmms_context->is_in_format_mode = 0;
                    }
                    #ifdef __MMI_UNIFIED_MESSAGE__
                    mmi_um_jmms_ready_ind();
                    #endif
                }
                return;
            }
            g_jmms_context->store_context->nMsgs_in_Current_folder = total_num_msgs;
            if(GetActiveScreenId() == SCR_ID_JMMS_PROGRESS)
            {
                mmi_jmms_entry_templates_screen();
            }
            else
            {
                DeleteScreenIfPresent(SCR_ID_JMMS_PROGRESS);
            }
            #ifdef _MUTILANG_TEMPLATE_    
            ReadValue(NVRAM_JMMS_LANGUAGE_CHANGE, &language_change, DS_SHORT, &error);

            if (language_change == 0xFFFF)
            {
                WriteValue(NVRAM_JMMS_LANGUAGE_CHANGE, &gCurrLangIndex, DS_SHORT, &error);
            }
            else if(language_change != gCurrLangIndex)
            {
                WriteValue(NVRAM_JMMS_LANGUAGE_CHANGE, &gCurrLangIndex, DS_SHORT, &error);
            }  
            #endif
        }
    }

	if (g_jmms_context->init_done == JMMS_INITIALIZED)
    {
    	g_jmms_context->init_done = JMMS_READY;
        PRINT_INFORMATION_2((MMI_TRACE_INFO, "create_template_mms_return_callback UM Ready: %d", g_jmms_context->init_done));
        if(g_jmms_context->is_in_format_mode)
        {
            wap_send_fmt_format_rsp();
            g_jmms_context->is_in_format_mode = 0;
        }
        #ifdef __MMI_UNIFIED_MESSAGE__
        mmi_um_jmms_ready_ind();
        #endif
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_parsing_progressing_screen
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_parsing_progressing_screen(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    EntryNewScreen(SCR_ID_JMMS_PARSING_PROGRESS, NULL, mmi_jmms_parsing_progressing_screen, NULL);

    ShowCategory154Screen(
        STR_MMS_MENUENTRY,
        GetRootTitleIcon(MAIN_MENU_MESSAGES_MENUID),
        0,
        0,
        STR_GLOBAL_CANCEL,
        0,
        (PU8)GetString(STR_ID_JMMS_PARSING_MMS),
		NULL,
        IMG_GLOBAL_PROGRESS,
        NULL);

    SetRightSoftkeyFunction(mmi_jmms_abort_parsing_progress, KEY_EVENT_UP);

}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_only_abort_parsing_progress
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_only_abort_parsing_progress(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
	mmi_jmms_parse_continue_stop_timer();
    if (g_jmms_context->pParseContent != NULL)
    {
        if (g_jmms_context->pParseContent->pFileName != NULL)
        {
            jdd_MemFree(g_jmms_context->pParseContent->pFileName);
            g_jmms_context->pParseContent->pFileName = NULL;
        }
        jdd_MemFree(g_jmms_context->pParseContent);
        g_jmms_context->pParseContent = NULL;
    }

}
/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_abort_parsing_progress
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_abort_parsing_progress(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
	mmi_jmms_only_abort_parsing_progress();
    if (g_jmms_context->msg_handle != NULL)
    {
        mmi_jmms_jdi_msg_deinit(g_jmms_context->msg_handle);
        g_jmms_context->msg_handle = NULL;
    }

    g_jmms_context->is_add_media_warning = 0;

    GoBackHistory();
}

#endif /* (defined (JATAAYU_SUPPORT) && defined(MMS_SUPPORT)) */ 

#endif /* _MMI_JMMSTEMPLATESSECMMI_C */ 
// #endif //#if 0 //Pranav Commeneted

⌨️ 快捷键说明

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