LCM LOGO及开机动画兼容.docx
《LCM LOGO及开机动画兼容.docx》由会员分享,可在线阅读,更多相关《LCM LOGO及开机动画兼容.docx(14页珍藏版)》请在冰豆网上搜索。
LCMLOGO及开机动画兼容
LCM不同屏兼容代码修改文档
一、思路:
根据加载的LCM文件匹配分辨率height,width
根据不同分辨率去加载开机logo,动画,充电显示图标。
二、主要实现方法:
1)开、关机动画的适配
a)
X:
\jianguo\D5273_TEST\MT6753_MP_M0.MP1_V1\alps\device\ratech\mt6735m_d5273_s2\ProjectConfig.mk
增加以下2处
增加:
LCM_HEIGHT_SEC=1280
LCM_HEIGHT_SEC=720
b)
X:
\jianguo\D5273_TEST\MT6753_MP_M0.MP1_V1\alps\frameworks\base\data\bootanimation\bootanimation.mk
根据分辨率将增加的动画文件复制到system/media/bootanmation.zip
c)
X:
\jianguo\D5273_TEST\MT6753_MP_M0.MP1_V1\alps\frameworks\base\cmds\bootanimation\Bootanimation.cpp
在函数voidBootAnimation:
:
initBootanimationZip()前增加
//SinghmodifyforSEC_LOGO==start
status_tBootAnimation:
:
getDisplayInfo(void)
{
spdtoken(SurfaceComposerClient:
:
getBuiltInDisplay(
ISurfaceComposer:
:
eDisplayIdMain));
DisplayInfodinfo;
status_tstatus=SurfaceComposerClient:
:
getDisplayInfo(dtoken,&dinfo);
if(status)
return-1;
mWidth=dinfo.w;
mHeight=dinfo.h;
returnstatus;
}
//SinghmodifyforSEC_LOGO==end
在voidBootAnimation:
:
initBootanimationZip()函数调用getDisplayInfo()函数
在函数990行增加
//SinghmodifyforSEC_LOGO==start((mWidth==480)&&(access(SYSTEM_BOOTANIMATION_FILE2,R_OK)==0)&&((zipFile=ZipFileRO:
:
open(SYSTEM_BOOTANIMATION_FILE2))!
=NULL))||
//SinghmodifyforSEC_LOGO==end
注意SYSTEM_BOOTANIMATION_FILE2文件夹是否匹配
关机动画:
d)
X:
\jianguo\D5273_TEST\MT6753_MP_M0.MP1_V1\alps\frameworks\base\cmds\bootanimation\bootanimation.h
增加函数:
//SinghmodifyforSEC_LOGO==start
status_tgetDisplayInfo(void);
//SinghmodifyforSEC_LOGO==endstart
三、开机LOGO及关机下电池图标的适配
1、
X:
\jianguo\D5273_TEST\MT6753_MP_M0.MP1_V1\alps\device\ratech\mt6735m_d5273_s2\ProjectConfig.mk
#SinghmodifyforSEC_LOGO==start
SECOND_LOGO=fwvga
#SinghmodifyforSEC_LOGO==end
2、alps/vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/rules.mk
#Singhaddbegin==========================================
ifneq($(strip$(SECOND_LOGO)),)
SECOND_TEMP:
=$(strip$(subst$(UNDER_LINE),$(EMPTY),$(SECOND_LOGO)))
COUNT:
=$(words$(SECOND_TEMP))
SECOND_BASE_LOGO:
=$(word$(COUNT),$(SECOND_TEMP))
EXIST:
=$(shellif[-e$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)];thenecho"exist";elseecho"noexist";fi;)
ifeq($(EXIST),"noexist")
SECOND_BASE_LOGO:
=$(SECOND_LOGO)
endif
RESOURCE_OBJ_LIST+=\
$(BOOT_LOGO_DIR)/$(SECOND_LOGO)/$(SECOND_LOGO)_uboot.raw
ifneq($(strip$(MTK_ALPS_BOX_SUPPORT)),yes)
RESOURCE_OBJ_LIST+=\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_battery.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_low_battery.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_charger_ov.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_num_0.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_num_1.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_num_2.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_num_3.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_num_4.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_num_5.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_num_6.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_num_7.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_num_8.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_num_9.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_num_percent.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_animation_01.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_animation_02.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_animation_03.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_animation_04.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_animation_05.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_animation_06.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_animation_07.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_animation_08.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_animation_09.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_animation_10.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_10_01.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_10_02.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_10_03.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_10_04.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_10_05.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_10_06.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_10_07.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_10_08.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_10_09.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_10_10.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_bg.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_img.raw\
$(BOOT_LOGO_DIR)/$(SECOND_BASE_LOGO)/$(SECOND_BASE_LOGO)_bat_100.raw\
$(BOOT_LOGO_DIR)/$(SECOND_LOGO)/$(SECOND_LOGO)_kernel.raw
endif
endif
#Singhaddend==========================================
3、
alps/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6735/mt_logo.c
a)修改voidmt_disp_show_boot_logo(void)
b)voidmt_disp_show_charger_ov_logo(void)
c)voidmt_disp_show_low_battery(void)
4、
alps/vendor/mediatek/proprietary/external/libshowlogo/charging_animation.cpp
a)voidshow_boot_logo(void)
b)voidshow_kernel_logo()
c)voidshow_low_battery(void)
d)
voidshow_charger_ov_logo(void)
5、
X:
\jianguo\D5273_TEST\MT6753_MP_M0.MP1_V1\alps\vendor\mediatek\proprietary\bootable\bootloader\lk\lib\libshowlogo\show_animation_common.c
a)
voidfill_animation_battery_old(unsignedintcapacity,void*fill_addr,void*dec_logo_addr,void*logo_addr,LCM_SCREEN_Tphical_screen)
b)
voidfill_animation_battery_new(unsignedintcapacity,void*fill_addr,void*dec_logo_addr,void*logo_addr,LCM_SCREEN_Tphical_screen)
6
、
X:
\jianguo\D5273_TEST\MT6753_MP_M0.MP1_V1\alps\vendor\mediatek\proprietary\xternal\ibshowlogo\show_animation_common.c
更改同上
7、X:
\jianguo\D5273_TEST\MT6753_MP_M0.MP1_V1\alps\vendor\mediatek\proprietary\external\libshowlogo\cust_display.h
#elifdefined(FWVGA)||defined(CU_FWVGA)||defined(CMCC_FWVGA)||defined(CT_FWVGA)||defined(CMCC_LTE_FWVGA)||defined(CT_LTE_FWVGA)||defined(CU_LTE_FWVGA)||(LCM_HEIGHT_SEC==1280)