mmi_create()
- MMI task初始化
MMI_Init()
mmi_frm_init_key_event() // 按键初始化
L4InitTimer() // 计时器初始化
setup_UI_wrappers() // WGUI初始化
mmi_fe_init() // 字体初始化
- MMI task接收消息事件
MMI_task()
InitEventHandlersBeforePowerOn() // 事件初始化
MMI_MTPNP_master_init()以及MMI_MTPNP_slave_init() // 主副SIM卡初始化
msg_get_ext_queue_info() // 获取消息
mmi_frm_fetch_msg_from_extQ_to_circularQ() // 消息转换
OslNumOfCircularQMsgs() // 获取消息个数
OslReadCircularQ() // 读取消息信息
switch (Message.msg_id)
{
...
case MSG_ID_MMI_EQ_POWER_ON_IND: // 开机事件
break;
...
}
SetDateTime() // 设置时间
gdi_init() // GDI初始化
switch (p->poweron_mode)
{
...
case POWER_ON_KEYPAD: // 按键开机
...
}
MTPNP_AD_Init() // AD初始化,还不太清楚
PhnsetSetUARTConfig() // UART配置
DTGetRTCTime(&StartUpTime); // 获取开机时间
- MMI 启动流程
mmi_bootup_start()
mmi_bootup_entry_disk_check() // 磁盘检查
mmi_frm_power_on_init_procedure() // 开机初始化
FlightModeCheckBeforeAnimation() // 检测飞行模式
InitializeAll() // APP初始化
InitNvramDataBeforeAnimation() // NV初始化
- APP初始化
InitializeAll()
InitUnicodeSupport() // Unicode
gdi_init() // GDI
mdi_audio_init() // AUDIO
mdi_init() // MDI
mdi_webcam_init() // 网络摄像头
InitMMIUsbContext() // USB
InitProtocolEvents() // Protocol Event
InitFramework() // Framework
InitHardwareEvents() // Protocol Event
InitTime() // Date Time
setup_UI_wrappers() // WGUI
PopulateResData() // 资源文件,包括字符串、图片、音频等
PowerAndEndKeyHandler() // Power And End Key Handle
InitStringLanguage() // 多国语言
mmi_um_init() // 短消息
mmi_dispatch_init() // 彩信
InitCallManagement() // 通话记录
mmi_vt_init() // Video Telephony
mmi_ucm_init() // 呼叫
initialize_UI_demo() // UI环境
InitNetWorkBootUpEventsCallBack() // 网络
InitProfileApp() // 情景模式
InitSimDetection() // SIM卡 短消息
...
- 初始化完成后,开机动画
switch (p->poweron_mode)
{
...
default:
ProtocolEventHandler(...);
break; // 默认处理
...
}
MTPNP_AD_Bootup()
mmi_bootup_dual_sim_start() // SIM卡
mmi_bootup_dual_sim_start_bootup_by_mode() // SIM卡
MTPNP_PFAL_Master_Startup_Normal() // SIM卡
PowerOnNormalMode() // 正常模式开机
mmi_bootup_entry_animation() // 开机动画
mmi_pwron_entry_animation_screen() // 开机动画界面
gui_start_timer(force_stop_time, mmi_pwron_force_terminate_display) // 设置强制关闭动画计时器
mmi_pwron_show_image_callback() // 动画完成回调
EntryPhnseFactoryDefaultCalibrationScr() // 屏幕校准
mmi_bootup_exit_animation() // 动画结束
mmi_bootup_entry_low_battery_warning() // 检查电量
mmi_bootup_entry_security_check() // 安全检查,包括SIM卡密码,SIM卡是否可用等
goto_opening_screen()
InitAllApplications() // 重复初始化,直接return
exit_custom_startup_screen() // 退出动画
ShowWelcomeScr() // 显示welcom界面
ShowIdleAppSubLcd() // 显示子屏
mmi_bootup_exit_welcome_screen() // 退出welcom界面
mmi_bootup_entry_network_searching() // 搜网
EntryIdleScreen() // 进入待机界面