Android8.1关机充电动画位置

1.定义屏幕分辨率以取图片的目录地方:

vendor/mediatek/proprietary/bootable/bootloader/lk/project/xxx.mk中:

BOOT_LOGO := hd720

同事图片资源的文件目录在:vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo

下面有很多各种分辨率的图片原始文件,并且在log中有一个显示规则文件,rules.mk,可以在里面定义显示顺序以及相关的内容。


2.将资源文件配置好之后,在代码中进行相应的配置:

首先在代码bootloader/lk/lib/libshowlogo目录里的show_animation_common.c文件中添加相应的显示代码:


并且重新写相关实现函数:fill_logo(),show_charger_ov_logo(),show_charger_low_logo(),show_kpoc_charge_logo()等实现。

其次,在vendor/mediatek/proprietary/external/libshowlogo目录中对应也有show_animation_common.c代码在中添加具体的显示图片的位置与大小


这里主要是对在首先屏幕上显示图片的位置的像素点位置,这个需要自己通过提供的图片的大小进行计算。上面的定义的宏中,主要有显示充电动画的位置,以及电量数字的像素位置,以及百分比的位置,当然这里可以进行自己定义。同时也要实现自己对充电动画的填充,显示动画,电量数字以及百分比的区间等相关显示功能的函数。(具体就不展示了)。

在该目录下还有一个文件需要修改charging_animation.cpp文件中:

对充电的过压,高温,低温等警告图片的显示函数的实现。具体去实现:show_logo(),show_lowtemp_logo(),show_hightemp_logo()函数功能,以及在原有的show_low_battery()和show_charger_ov_logo()函数中添加自己实现的个性化函数调用。

还有,在vendor/mediatek/proprietary/external/charger中的函数中bootlogo_show_charging()函数中,添加相关的高低温以及过充的显示logo,

在common.cpp代码中的get_battnotify_status()函数中添加需要添加上层报告电池状态消息。

最后,在平台代码中进行添加相关的函数功能,在vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt67XX/目录中,在代码mt_logo.c中,在函数mt_disp_show_kpoc_charge_logo(),mt_disp_show_charger_ov_logo(),mt_disp_show_low_battery(),中添加自己实现的函数。

在platform.c代码中platform_init()函数中添加mt_disp_show_kpoc_charge_logo(),以显示关机充电的第一张图片。

到这里基本就添加完了,注意,自己添加的代码最好是使用宏控制,要在vendor/mediatek/proprietary/external/libshowlogo的Android.mk文件中添加你在该目录下修改的文件的代码控制的宏,以及你其他地方修改的需要添加的项目的宏。


(以上是根据具体项目进行总结的,有不正之处,敬请指正,但是也有其他地方不太明白,请热心人指点迷津!)




猜你喜欢

转载自blog.csdn.net/stoic163/article/details/80460375