Android 取消充电动画logo,直接显示图片即可

删除充电动画逻辑,直接设置显示图片logo:hvga_low_battery.bmp

vendor/mediatek/proprietary/external/libshowlogo/charging_animation.cpp
void show_battery_capacity(unsigned int capacity)
{
anim_show_logo(LOW_BATTERY_INDEX);//*/rm animation add set low battery logo
/* if (MTK_LOG_ENABLE == 1) {
SLOGD("libshowlogo: %s %dcapacity =%d\n",FUNCTION,LINE, capacity);
}
int has_fast_charging = getValue("ro.vendor.mtk_pump_express_plus_support" , "0" );
if (draw_anim_mode == (DRAW_ANIM_MODE_FB)) {
anim_fb_addr_switch();
if( has_fast_charging == 1) {
if (2 != show_animationm_ver && get_fast_charging_state()) {
fill_animation_battery_by_ver(capacity, (void *)outBuffer.bits, dec_logo_addr, logo_addr, phical_screen, show_animationm_ver);
} else {
fill_animation_battery_by_ver(capacity, (void *)fb_addr, dec_logo_addr, logo_addr, phical_screen, show_animationm_ver);
}
}
else {
fill_animation_battery_by_ver(capacity, (void *)fb_addr, dec_logo_addr, logo_addr, phical_screen, show_animationm_ver);
}
anim_fb_disp_update();
} else {
ARect tmpRect;
tmpRect.left = 0;
tmpRect.top = 0;
tmpRect.right = phical_screen.width;
tmpRect.bottom = phical_screen.height;

status_t lockResult = surface->lock(&outBuffer, &tmpRect);

if (MTK_LOG_ENABLE == 1) {

SLOGD("libshowlogo: %s %doutBuffer.bits = %d, surface->lock return = 0x%08x,\n",FUNCTION,LINE, (int)outBuffer.bits,lockResult);

}

if (0 == lockResult)

{

if(has_fast_charging == 1) {

if (2 != show_animationm_ver && get_fast_charging_state()) {

fill_animation_battery_by_ver(capacity, (void *)outBuffer.bits, dec_logo_addr, logo_addr, phical_screen, show_animationm_ver);

} else {

fill_animation_battery_by_ver(capacity, (void *)outBuffer.bits, dec_logo_addr, logo_addr, phical_screen, show_animationm_ver);

}

} else {

fill_animation_battery_by_ver(capacity, (void *)outBuffer.bits, dec_logo_addr, logo_addr, phical_screen, show_animationm_ver);

}

surface->unlockAndPost();

}

}*/

}

相关推荐
小bo波2 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking3 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
方白羽5 小时前
Android Gradle 缓存与文件目录深度解析
android·gradle·android studio
张不才6 小时前
CPU 100% 了怎么办?Java 性能排障的标准化操作
java·后端
shepherd1117 小时前
吞吐量提升 10 倍:高并发大批量数据处理任务的架构演进与性能调优
java·后端·架构
曲幽9 小时前
Termux里的二进制和脚本,到底怎么运行才不踩坑?Termux-service 保活妙招!
android·termux·nohup·services·wake-lock
plainGeekDev10 小时前
单例模式 → object 声明
android·java·kotlin
程序员陆业聪10 小时前
读者点单·03|Compose 与传统 View 混用的 12 个真实坑
android
程序员陆业聪10 小时前
读者点单·02|Android 启动优化实战:Trace 抓取→Application 编排→冷启动全流程拆解
android
Coffeeee11 小时前
帮你快速理解AI Agent之我想招个Android实习生
android·人工智能·agent