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

📄 jmmspushhandling.c

📁 MTK手机平台的MMI部分的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
 * FUNCTION
 *  mmi_jmms_end_mms_play
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_end_mms_play(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "mmi_jmms_end_mms_play"));

    mmi_jmms_deinit_mms_context(g_jmms_context);

    mmi_jmms_free_delivery_report_header();
    mmi_jmms_free_report_report_header();

    DisplayIdleScreen();
}


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

    CONTENT_DATA Content = {0, };
    JC_RETCODE eRet = JC_OK;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "mmi_jmms_play_mms"));

    mmi_jmms_deinit_mms_context(g_jmms_context);

    Content.bIsStream = E_TRUE;
    eRet = mmi_jmms_get_message("Inbox", &Content, g_jmms_context->mms_index);

    if (eRet != JC_OK)
    {
        PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s(%d)", "jmms fail to get the message from InBox.", eRet));
        mmi_jmms_error_handler(eRet);
        goto END;

    }
	#ifdef __MMI_UNIFIED_MESSAGE__
		mmi_jmms_deinit_view();			
	#endif 
    eRet = mmi_jmms_pre_entry_mms_view(&Content);
    if (g_jmms_context->last_scr_id != IDLE_SCREEN_ID && g_jmms_context->last_scr_id == SCR_ID_JMMS_INBOX_OPTIONS)
    {
        /* it means download from Inbox */
    #ifdef __MMI_UNIFIED_MESSAGE__
        HistoryReplace(SCR_ID_UM_INBOX, SCR_ID_UM_INBOX, mmi_um_jmms_pre_entry_inbox_including_highlighter);
    #else 
        HistoryReplace(SCR_ID_JMMS_INBOX, SCR_ID_JMMS_INBOX, mmi_jmms_entry_inbox);
    #endif 
    }

    DeleteScreenIfPresent(SCR_ID_JMMS_READ_REPORT_QUERY);
    DeleteScreenIfPresent(SCR_ID_JMMS_PROGRESS);
    DeleteScreenIfPresent(SCR_ID_JMMS_POP_SCREEN);
    DeleteScreenIfPresent(SCR_ID_JMMS_INBOX_OPTIONS);
    DeleteScreenIfPresent(SCR_ID_JMMS_NEW_MMS);
    DeleteScreenIfPresent(SCR_ID_JMMS_RETRIEVED_MMS_PROPERTIES);

    if (eRet == JC_ERR_MMS_PARSE_PENDING)
    {
        return;
    }

  END:

    if (eRet != JC_OK && g_jmms_context->msg_handle != NULL)
    {
        eRet = mmi_jmms_jdi_msg_deinit(g_jmms_context->msg_handle);
        g_jmms_context->msg_handle = NULL;
    }

}


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

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    mmi_jmms_deinit_mms_context(g_jmms_context);
    mmi_jmms_free_delivery_report_header();
    mmi_jmms_free_report_report_header();

    if (g_jmms_context->last_scr_id == IDLE_SCREEN_ID)
    {
        DisplayIdleScreen();
    }
    else
    {
    #ifdef __MMI_UNIFIED_MESSAGE__
        HistoryReplace(SCR_ID_UM_INBOX, SCR_ID_UM_INBOX, mmi_um_jmms_pre_entry_inbox_including_highlighter);
        GoBackToHistory(SCR_ID_UM_INBOX);
    #else /* __MMI_UNIFIED_MESSAGE__ */ 
/* PMTSW00006306 Fix : Lines commented as it will clear old history and issue in highlight handler */
 //       HistoryReplace(SCR_ID_JMMS_INBOX, SCR_ID_JMMS_INBOX, mmi_jmms_entry_inbox_screen);
        GoBackToHistory(SCR_ID_JMMS_INBOX);
    #endif /* __MMI_UNIFIED_MESSAGE__ */ 
    }
}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_need_mms_ind
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  
 *****************************************************************************/
U8 mmi_jmms_need_mms_ind(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U8 need_ind = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
#if !defined(__MMI_UNIFIED_MESSAGE__) && defined (__USB_IN_NORMAL_MODE__)
    if (mmi_usb_is_in_mass_storage_mode() == KAL_FALSE)
#endif 
    {
        if (g_jmms_context != NULL && g_jmms_context->pending_mms_info_list != NULL)
    #ifdef __MMI_UNIFIED_MESSAGE__
            if (g_jmms_context->pending_mms_info_list->type == E_MSG_TYPE_IDLE_SCREEN_POP_UP)
    #endif 
            {
                need_ind = 1;
            }
    }

    return need_ind;

}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_entry_new_mms_ind
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_entry_new_mms_ind(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    U16 strid = 0;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "mmi_jmms_entry_new_mms_ind"));

    if (g_jmms_context == NULL)
    {
        g_jmms_context = (jmms_context_struct*) jdd_MemAlloc(sizeof(jmms_context_struct), 1);
        if (g_jmms_context == NULL)
        {
            DisplayPopup((PU8) GetString(STR_ID_JMMS_OUT_OF_MEMORY), IMG_GLOBAL_ERROR, 1, JMMS_POPUP_TIME, ERROR_TONE);
            return;
        }
    }

    if (g_jmms_context->pending_mms_info_list == NULL)
    {
        return;
    }

    EntryNewScreen(SCR_ID_JMMS_NEW_MMS_IND, NULL, NULL, NULL);
/* sandeep start in error situations like when fail to save mms notification ring tone should not play
// amit start
	PlayMessageArrivalTone();
// amit end tone play on idle screen
*/

    GetCurrEndKeyDownHandler();

    if (g_jmms_context->pending_mms_info_list->type == E_MSG_TYPE_DELIVERY_REPORT
        || g_jmms_context->pending_mms_info_list->type == E_MSG_TYPE_READ_REPORT_RESPONSE
        || g_jmms_context->pending_mms_info_list->type == E_MSG_TYPE_RECEIVE)
    {
        strid = STR_ID_JMMS_READ_NEW_MMS;
    }
    else if (g_jmms_context->pending_mms_info_list->type == E_MSG_TYPE_NOTIFICATION)
    {
        strid = STR_ID_JMMS_DOWNLOAD_NEW_MMS;

    }
    else if (g_jmms_context->pending_mms_info_list->type != E_MSG_TYPE_IDLE_SCREEN_POP_UP)
    {
        return;
    }
#ifdef __MMI_UNIFIED_MESSAGE__
    if (g_jmms_context->pending_mms_info_list->type != E_MSG_TYPE_IDLE_SCREEN_POP_UP)
    {
        mmi_um_jmms_new_mms_message_ind(g_jmms_context->pending_mms_info_list->Index);
    }
    else
#endif /* __MMI_UNIFIED_MESSAGE__ */ 
    {   /* vikas added */
        if (g_keylock_context.gKeyPadLockFlag == 0)
        {

            if (g_jmms_context->pending_mms_info_list->type == E_MSG_TYPE_IDLE_SCREEN_POP_UP)
            {

                ShowCategory2Screen(
                    STR_MMS_MENUENTRY,
                    GetRootTitleIcon(MAIN_MENU_MESSAGES_MENUID),
                    0,
                    0,
                    STR_GLOBAL_BACK,
                    IMG_GLOBAL_BACK,
                    g_jmms_context->pending_mms_info_list->Index,
                    NULL);
                SetRightSoftkeyFunction(mmi_jmms_delete_mms_pop_up_node, KEY_EVENT_UP);
				if (isInCall() == FALSE)
	                SetKeyHandler(mmi_jmms_free_mms_pop_ups_list, KEY_END, KEY_EVENT_DOWN); /* /delete the link list */
            }
            else
            {
                ShowCategory154Screen(
                    0,
                    0,
                    STR_GLOBAL_YES,
                    IMG_GLOBAL_YES,
                    STR_GLOBAL_NO,
                    IMG_GLOBAL_NO,
                    (PU8) GetString(strid),
                    NULL,
                    IMG_NEW_MESSAGE_NOTIFICATION_MSG,
                    NULL);
                SetRightSoftkeyFunction(mmi_jmms_delete_mms_pop_up_node, KEY_EVENT_UP);
                SetLeftSoftkeyFunction(mmi_jmms_handle_mms_pop_up, KEY_EVENT_UP);
				if (isInCall() == FALSE)
                {
	                SetKeyHandler(mmi_jmms_free_mms_pop_ups_list, KEY_END, KEY_EVENT_DOWN); /* /delete the link list */
                     //sandeep
                     //PlayMessageArrivalTone();
		     //sandeep
                }
            }
        }
        else    /* keypad is locked */
        {
        #if defined(__MMI_KEYPAD_LOCK_PATTERN_1__) || defined(__MMI_KEYPAD_LOCK_PATTERN_3__) || defined(__MMI_KEYPAD_LOCK_PATTERN_4__)    //KP Jerry add "__MMI_KEYPAD_LOCK_PATTERN_3__" on 2007-3-26
            if (g_jmms_context->pending_mms_info_list->type == E_MSG_TYPE_IDLE_SCREEN_POP_UP)
            {
                ShowCategory2Screen(
                    STR_MMS_MENUENTRY,
                    GetRootTitleIcon(MAIN_MENU_MESSAGES_MENUID),
                    0,
                    0,
					#ifdef __MMI_TOUCH_SCREEN__
						SCREEN_LOCKED_TEXT,
					#else
                    KEYPAD_LOCKED_RSK_TEXT,
					#endif
                    0,
                    g_jmms_context->pending_mms_info_list->Index,
                    NULL);
            }
            else
            {
                ShowCategory154Screen(
                    0,
                    0,
                    0,
                    0,
                    #ifdef __MMI_TOUCH_SCREEN__
						SCREEN_LOCKED_TEXT,
					#else
                    KEYPAD_LOCKED_RSK_TEXT,
					#endif
                    0,
                    (PU8) GetString(strid),
                    NULL,
                    IMG_NEW_MESSAGE_NOTIFICATION_MSG,
                    NULL);
                if (isInCall() == FALSE)
                {
                     //sandeep
                     //PlayMessageArrivalTone();
		     //sandeep
                }
            }
        #else /* __MMI_KEYPAD_LOCK_PATTERN_1__ || __MMI_KEYPAD_LOCK_PATTERN_3__ ||__MMI_KEYPAD_LOCK_PATTERN_4__ */      //KP Jerry add "__MMI_KEYPAD_LOCK_PATTERN_3__" on 2007-3-27
            if (g_jmms_context->pending_mms_info_list->type == E_MSG_TYPE_IDLE_SCREEN_POP_UP)
            {
                ShowCategory2Screen(
                    STR_MMS_MENUENTRY,
                    GetRootTitleIcon(MAIN_MENU_MESSAGES_MENUID),
                    #ifdef __MMI_TOUCH_SCREEN__
						SCREEN_LOCKED_TEXT.
					#else
                    KEYPAD_LOCKED_RSK_TEXT,
					#endif
,
                    0,
                    0,
                    0,
                    g_jmms_context->pending_mms_info_list->Index,
                    NULL);

            }
            else
            {
                ShowCategory154Screen(
                    0,
                    0,
                    #ifdef __MMI_TOUCH_SCREEN__
						SCREEN_LOCKED_TEXT,
					#else
                    KEYPAD_LOCKED_RSK_TEXT,
					#endif
,
                    0,
                    0,
                    0,
                    (PU8) GetString(strid),
                    NULL,
                    IMG_NEW_MESSAGE_NOTIFICATION_MSG,
                    NULL);

⌨️ 快捷键说明

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