Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12659
  • 博文数量: 7
  • 博客积分: 470
  • 博客等级: 下士
  • 技术积分: 110
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-25 11:44
文章分类
文章存档

2010年(7)

我的朋友
最近访客

分类:

2010-10-25 11:45:29

[\plutommi\mmi\messages\messagessrc\MessagesMiscell.c]
 void mmi_msg_new_msg_ind(U16 index)
    {
         […]
        // 弹出新短信提示框
        if (MMI_FRM_SMS_APP_BIZUNREAD == mmi_frm_sms_msg_box[index].msgtype)
  {
   mmi_msg_entry_new_msg_popup(MSG_NEW_MSG_BUSINESS);// 弹出新业务短信提示框
  }
  else
  {
   mmi_msg_entry_new_msg_popup(MSG_NEW_MSG_NORMAL);
  }
         […]
                mmi_msg_entry_new_msg_ind();
         […]
    }

[\plutommi\mmi\Messages\MessagesSrc\MessagesMiscell.c]
void mmi_msg_entry_new_msg_ind(void)
{
    […]
 if(MMI_FRM_SMS_APP_BIZUNREAD == mmi_frm_sms_msg_box[g_msg_cntx.msg_ind_index].msgtype)
 {
  titleID = STR_NEW_BUSINESS_MESSAGE_FROM;
 }
 else
 {
  titleID = STR_NEW_MESSAGE_FROM_ID;
 }
    […]
        // 在待机界面显示“新短信来自:”
        ShowCategory154Screen(
            0,
            0,
            STR_SCR6035_LSK,
            IMG_SMS_COMMON_NOIMAGE,
            STR_GLOBAL_BACK,
            IMG_SMS_COMMON_NOIMAGE,
            (PU8) GetString(titleID),
            (PU8) mmi_msg_get_new_msg_ind_string(),
            IMG_NEW_MESSAGE_NOTIFICATION_MSG_IN_IDLE,
            NULL);
    […]
}
 4.3、阅读新短信
4.3.1、响应【读取】键、发送“读取”请求
void mmi_msg_get_msg_new(void)
{
    [...] 
    g_msg_cntx.msg_ind_in_idle = FALSE;
 mmi_msg_get_msg_req(MMI_FRM_SMS_APP_NOBOX, g_msg_cntx.msg_ind_index);
 mmi_frm_sms_get_list_index(&type, &list_index, g_msg_cntx.msg_ind_index);
    [...] 
 if (!pending)
 {
  if (type == MMI_FRM_SMS_BIZUNREAD || type == MMI_FRM_SMS_BIZINBOX)
  {
   mmi_msg_exit_bizbox_list_dummy();
   g_msg_cntx.toDisplayMessageList = TO_DISPLAY_MESSAGE_LIST_BIZBOX;
  }
  else
  {
   mmi_msg_exit_inbox_list_dummy();
   g_msg_cntx.toDisplayMessageList = TO_DISPLAY_MESSAGE_LIST_INBOX;
  }
 }
    [...]
}
4.3.2、设置【返回】键路径
[\plutommi\mmi\Messages\MessagesSrc\MessagesMiscell.c]
void mmi_msg_exit_bizbox_list_dummy(void)
{
    history currHistory;
    memset(&currHistory, 0, sizeof(currHistory));
    currHistory.scrnID = SCR_ID_MSG_BIZBOX_LIST;
    SetMessagesCurrScrnID(0);
    g_msg_cntx.MessagesScrnIdToDelHistoryNodes = SCR_ID_MSG_BIZBOX_LIST;
    g_msg_cntx.MessagesScrnIdDelUptoHistoryNodes = SCR_ID_MSG_BIZBOX_LIST;
    currHistory.entryFuncPtr = mmi_msg_entry_bizbox_list;//详见3.4 查看业务信箱
    memset((S8*) currHistory.inputBuffer, 0, ENCODING_LENGTH);
    AddHistory(currHistory);
}
4.3.3、接收“读取”请求的回复
[\plutommi\mmi\miscframework\miscframeworksrc\SMSMsg.c]
void mmi_frm_sms_read_sms_rsp(void *inMsg)
{
        [...]
                case SMSAL_REC_READ: mmi_frm_sms_msg_box[g_msg_cntx.msg_ind_index].msgtype;
     type = (msgRsp->mti << 12) | mmi_frm_sms_index_list[g_msg_cntx.msg_ind_index].prevtype;
        [...]
        mmi_frm_sms_callback_action(&type, result);
}
[\plutommi\mmi\messages\messagessrc\SmsPsHandler.c]
void mmi_msg_get_msg_rsp(void *data, module_type mod, U16 result)
{
        [...]
             case MMI_FRM_SMS_BIZBOX:
      mmi_msg_entry_bizbox_msg();
        [...]
}
4.3.4、显示短信内容
[\plutommi\mmi\messages\messagessrc\SmsMoMtGuiInterface.c]
void mmi_msg_entry_bizbox_msg(void)
{
    U8 *guiBuffer = NULL;
    U8 *pHeader;
    EMSData *pEms;
    U16 strtitle;
 if (IsScreenPresent(SCR_ID_MSG_PROCESSING))
 {
     HistoryReplace(SCR_ID_MSG_PROCESSING, SCR_ID_MSG_BIZBOX_MSG, mmi_msg_entry_bizbox_msg);
     return;
 }
 EntryNewScreen(SCR_ID_MSG_BIZBOX_MSG, mmi_msg_exit_generic, mmi_msg_entry_bizbox_msg, NULL);
    PRINT_INFORMATION_2((MMI_TRACE_G6_SMS, "*[SmsMoMtGuiInterface.c] mmi_msg_entry_bizbox_msg *\n"));
#ifdef __UNIFIED_MESSAGE_LIST_OPTION_SUPPORT__
    if (IsScreenPresent(SCR_ID_MSG_BIZBOX_LIST_OPTION))
    {
        SetMessagesScrnIdToDelHistoryNodes(SCR_ID_MSG_BIZBOX_LIST_OPTION);
    }
    else
#endif /* __UNIFIED_MESSAGE_LIST_OPTION_SUPPORT__ */
    {
        SetMessagesScrnIdToDelHistoryNodes(SCR_ID_MSG_BIZBOX_MSG);
    }
    SetMessagesCurrScrnID(SCR_ID_MSG_BIZBOX_MSG);
    GetCurrEndKeyDownHandler();
    guiBuffer = GetCurrGuiBuffer(SCR_ID_MSG_BIZBOX_MSG);
    GetEMSDataForView(&pEms, 0);
    pHeader = mmi_msg_get_bizbox_header();
    g_msg_cntx.number_from_phb = 0;
#if defined(__MMI_MESSAGES_EMS__)
    EnableDisableAudioPlayback();
#endif
#ifdef __MMI_MESSAGES_CHAT__
    if (pEms->listHead == NULL)
    {
     if (gChatInvitation)
     {
            SetChatInboxIndex(PendingSaveSendData.msgboxindex);
            strtitle = STR_CHAT_INVITATION;
  }
  else if (CheckForInvitationMsg(pEms->textBuffer, (S32) pEms->textLength, TRUE) == TRUE)
  {
            SetChatInboxIndex(PendingSaveSendData.msgboxindex);
            strtitle = STR_CHAT_INVITATION;  
   if (guiBuffer == NULL)
   {
    RemoveInvitationChar();
   }
  }
        else
        {
            strtitle = STR_SCR6024_CAPTION;
            gChatInvitation = 0;
        }
    }
    else
    {
        strtitle = STR_SCR6024_CAPTION;
        gChatInvitation = 0;
    }
#else /* __MMI_MESSAGES_CHAT__ */
    strtitle = 0; //strtitle = STR_SCR6024_CAPTION;
#endif /* __MMI_MESSAGES_CHAT__ */
    ShowCategory39Screen(
        (U16) strtitle,
        IMG_SMS_ENTRY_SCRN_CAPTION,
        STR_GLOBAL_OPTIONS,
        IMG_SMS_COMMON_NOIMAGE,
        STR_GLOBAL_BACK,
        IMG_SMS_COMMON_NOIMAGE,
        pEms,
        pHeader,
        guiBuffer);
#ifdef __MMI_MESSAGES_CHAT__
    if (strtitle == STR_CHAT_INVITATION)
    {
        SetLeftSoftkeyFunction(mmi_msg_entry_option_chat, KEY_EVENT_UP);
    }
    else
    {
        SetLeftSoftkeyFunction(mmi_msg_entry_option_bizbox, KEY_EVENT_UP);
    }
#else /* __MMI_MESSAGES_CHAT__ */
    SetLeftSoftkeyFunction(mmi_msg_entry_option_bizbox, KEY_EVENT_UP);//设置【选项】
#endif /* __MMI_MESSAGES_CHAT__ */
    SetLeftSoftkeyFunction(mmi_msg_entry_option_bizbox, KEY_EVENT_UP);  // TODO: smsnote: overwrite LSK func?? (Tony said: old bug. keep it)
    SetRightSoftkeyFunction(mmi_msg_go_back_from_bizbox_msg, KEY_EVENT_UP);
}
完整版本请见
                                                          曙海教育
                                                曙海嵌入式学院3G通信培训中心
                                            (MTK培训,Android培训,iPhone培训)
                                                电话:021-51875830
                                                网址:
                                                    讲师:李现路
                                              版权所有-曙海教育 转发请注明出处
 
阅读(720) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~