MTK 拨号界面流程解析

需积分: 9 3 下载量 88 浏览量 更新于2024-10-06 收藏 509KB PDF 举报
"MTK Dialing Screen流程涉及的是在MTK平台上拨号界面的操作和功能实现,主要包括坐标调整、拨号界面的绘制以及触摸屏事件的处理。" 在MTK平台中,拨号屏幕的流程涉及到多个关键步骤,首先从坐标调整开始。在`wgui.h`文件中,我们可以看到坐标的相关设置,这是为了定义拨号界面中各元素的位置。通过设置断点并跟踪`IdleScreenDigitHandler()`函数,我们可以深入理解这个过程。该函数在用户界面上启动时被调用,进一步调用`ShowCategory16Screen()`,进而设置`dialing_keypad`结构体,这包含了拨号键盘的所有参数。 在`Wgui_inputs.c`文件中,`setup_dialing_keypad()`函数执行了实际的坐标配置,将`wgui.h`中定义的坐标值赋给`dialing_keypad`结构体的成员变量。这确保了拨号键盘在屏幕上的正确显示位置。 拨号界面的绘制是另一个重要环节。在调试和跟踪过程中,我们可以在`dm_redraw_category_screen`处设置断点,观察拨号输入框(DM_DIALER_INPUT_BOX1)是如何创建和显示的。这通常涉及到一系列函数的调用,如`dm_setup_and_draw_dialer_inputbox()`、`show_dialer_inputbox()`以及`gui_show_dialer_input_box()`。这些函数负责画出拨号数字框,并加载拨号数字图片。 当触摸屏事件发生时,例如用户按下屏幕上的8号键,会触发`MMI_PEN_EVENT_DOWN`事件。这样的事件会被注册并由特定的处理函数,如`Cate16CategoryControlAreaPenDownHandler()`来响应。这个函数会将触摸屏事件转化为键事件(`KEY_EVENT_DOWN`),并可能根据触摸屏的动作类型(如按压、抬起、长按等)触发不同的拨号操作,如显示相应的拨号数字图片。 触摸屏事件的处理是MTK拨号屏幕流程中的核心部分,它包括了对`MMI_PEN_EVENT_DOWN`、`MMI_PEN_EVENT_UP`、`MMI_PEN_EVENT_MOVE`等多个事件类型的响应。通过这些事件的处理,用户与拨号界面的交互得以实现,提供了流畅的用户体验。 总结来说,MTK Dialing Screen流程是一个复杂的过程,涵盖了坐标配置、界面绘制和触摸屏事件的响应,所有这些都在确保用户能够方便、直观地进行电话拨打操作。通过对这些细节的理解,开发者可以更好地优化拨号界面的性能和用户体验。

[root@his ~]# kubeadm init --pod-network-cidr=192.168.0.0/16 --kubernetes-version=v1.25.0 --apiserver-advertise-address=192.168.8.109 [init] Using Kubernetes version: v1.25.0 [preflight] Running pre-flight checks [WARNING Hostname]: hostname "his" could not be reached [WARNING Hostname]: hostname "his": lookup his on 192.168.8.254:53: no such host error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR CRI]: container runtime is not running: output: E0714 18:14:51.757340 11481 remote_runtime.go:616] "Status from runtime service failed" err="rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /var/run/containerd/containerd.sock: connect: no such file or directory\"" time="2023-07-14T18:14:51+08:00" level=fatal msg="getting status of runtime: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial unix /var/run/containerd/containerd.sock: connect: no such file or directory\"" , error: exit status 1 [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1 [ERROR KubeletVersion]: the kubelet version is higher than the control plane version. This is not a supported version skew and may lead to a malfunctional cluster. Kubelet version: "1.27.3" Control plane version: "1.25.0" [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...` To see the stack trace of this error execute with --v=5 or higher

2023-07-15 上传