MTK UCM incoming call

来源:互联网 发布:指南针炒股软件注销 编辑:程序博客网 时间:2024/05/23 22:52

Gemini 版本 IDLE状态下来电,到进入alarm界面的处理流程函数调用。(由于排版问题,请copy到UE查看)

1.IDLE状态下来电,L4发送消息PRT_INCOMINGCALL_EVENT
MSG_ID_MMI_CC_CALL_RING_IND
PsCBackCallIncoming()
    ProcessIncomingEvents(CM_PS_CALL_INCOMING, info);
        ProcessIncomingCallEvent(info)
            DeriveCallInfo(info, &myIncmg);
                SetPriorityCall(TRUE/FALSE); ? auto answer
            AddNewCallInfo();
                SetPreviousCallWAP();
                SetCMPhoneBookStruct();
                CMSetupAlertForMT();
                IsBlackListNum();
            mmi_gsm_ring_ind();
                GetCMPhoneBookStruct()
                GetCallName()
                GetCallLogName()
                GetCallLogNumber()
                mmi_gsm_get_call_list()
                mmi_ucm_dispatch_ind()
                    mmi_ucm_ring_ind()
                        分支1:当前不是incoming outgoing 紧急拨号状态,也不是blacklist number。
                        mmi_ucm_entry_marker()
                        mdi_audio_stop_all()
                        mmi_ucm_entry_incoming_call()
                            EntryNewScreen(SCR_ID_UCM_INCOMING, ...);
                            register key handle
                            mmi_ucm_play_incoming_tone()
                        分支2:自动拒接
                        mmi_ucm_pre_send_req(MMI_UCM_AUTO_REJECT, ...);
                        mmi_ucm_pre_send_req(MMI_UCM_FORCE_RELEASE, ...);

2.重点函数
AddNewCallInfo()
来电信息放入CM的状态机进行管理
mmi_gsm_ring_ind()
准备ring_ind需要的数据,最终调用mmi_ucm_dispatch_ind()
mmi_ucm_ring_ind()
根据传来的消息(ring_ind)显示来电界面
mmi_ucm_entry_incoming_call()
进入来电显示画面,接受用户按键处理

原创粉丝点击