android电池充电动画,Android 开机充电图标和充电动画效果
首先驱动需要先获取到2个power supply
kernel\msm-3.18\drivers\usb\phy\phy-msm-usb.c
motg->usb_psy.name = "usb";
motg->usb_psy.type = power_supply_type_usb;
motg->usb_psy.supplied_to = otg_pm_power_supplied_to;
motg->usb_psy.num_supplicants = array_size(otg_pm_power_supplied_to);
motg->usb_psy.properties = otg_pm_power_props_usb;
motg->usb_psy.num_properties = array_size(otg_pm_power_props_usb);
motg->usb_psy.get_property = otg_power_get_property_usb;
motg->usb_psy.set_property = otg_power_set_property_usb;
motg->usb_psy.property_is_writeable
= otg_power_property_is_writeable_usb;
if (!msm_otg_register_power_supply(pdev, motg))
psy = &motg->usb_psy;
kernel\msm-3.18\drivers\power\bq2570x\bq2570x_charger.c
usb_psy = power_supply_get_by_name("usb");
static int bq2570x_psy_register(struct bq2570x *bq)
{
int ret;
bq->batt_psy.name = "dc_o2";
bq->batt_psy.type = power_supply_type_battery;
bq->batt_psy.properties = bq2570x_charger_props;
bq->batt_psy.num_properties = array_size(bq2570x_charger_props);
bq->batt_psy.get_property = bq2570x_charger_get_property;
bq->batt_psy.set_property = bq2570x_charger_set_property;
bq->batt_psy.external_power_changed = bq2570x_external_power_changed;
bq->batt_psy.property_is_writeable = bq2570x_charger_is_writeable;
ret = power_supply_register(bq->dev, &bq->batt_psy);
if (ret < 0) {
pr_err("failed to register batt_psy:%d\n", ret);
return ret;
}
return 0;
}
充电的闪电图标和充电动画启动逻辑
闪电图标启动逻辑:power_supply_type_usb的power supply上报usb类型(cdp,dcp,usb)
power_supply_set_supply_type(bq->usb_psy, power_supply_type_usb);
ret = power_supply_set_online(bq->usb_psy, true);
power_supply_changed(bq->usb_psy);
充电动画的启动逻辑:power_supply_type_battery的power supply上报充电状态
(charge_state_not_charging,charge_state_fastcharge)
bq->charge_state = charge_state_fastcharge;
power_supply_changed(&bq->batt_psy);
利用dumpsys分析当前battery 状态
v2_pro:/ # dumpsys battery
current battery service state:
ac powered: false
usb powered: true
wireless powered: false
max charging current: 0
max charging voltage: 0
charge counter: 0
status: 2
health: 2
present: true
level: 46
scale: 100
voltage: 7
temperature: 270
technology: li-ion
如上主要关注2个字段:
usb powered : true
那么闪电图标应该会出现
status: 2
那么充电动画应该启动了
同时我们还可以通过shell指令的方式启动充电图标和充电动画
dumpsys battery set usb 1
闪电图标应该会出现
dumpsys battery set status 2
充电动画应该启动了
dumpsys battery set usb 0
闪电图标消失
dumpsys battery set status 4
充电动画消失
总结
以上所述是小编给大家介绍的android 开机充电图标和充电动画效果,希望对大家有所帮助
android电池充电动画,Android 开机充电图标和充电动画效果相关推荐
- android 系统(34)--关机充电图标修改
关机充电图标修改 关机充电图标修改 关机充电main函数 函数set_draw_anim_mode 函数pthread_mutex_init 函数bootlogo_init 函数alarm_contr ...
- android+p开机动画,Android开机动画bootanimation.zip文件制作以及注意事项
PS:红色字体需要特别注意 刚刚将原生Android系统开机logo和开机动画做了调整,为此耗费了接近半天的时间,碰到了很多问题,幸好最终达成了目的. 一,首先说一下bootanimation.zip ...
- android 9.0关机充电流程,充电图标和电量显示百分比修改
android 9.0关机充电图标和字体修改 相关源文件 电量显示百分比字体替换 充电图标替换 相关源文件 system/core/healthd/healthd_draw.cppsystem/cor ...
- android图标随着进度条动画,Android开发之ProgressBar字体随着进度条的加载而滚动...
在网上翻阅了很多关于ProgressBar滚动效果,但是始终没有找到适合项目中的这种效果,故自己写这篇文章,记录一下写作过程,给大家做一个参考.先看下最终效果效果图 我这里用的是LICEcap软件录制 ...
- 高通android充电常用问题,高通平台android9.0充电电量,充电指示灯以及充电图标读取分析...
第一部分 qpnq-qg.c static int qpnp_qg_probe(struct platform_device *pdev) { ....... INIT_WORK(&c ...
- Android系统自定义关机充电图标
需求描述 关机充电图标的修改地址在哪里?替换照片有哪些格式要求? 实现方案 图片路径: system/core/healthd/images/ 关机充电: system/core/healthd/he ...
- MTK平台修改Android动画,Android MTK平台修改开关机动画和开机logo
转载请注明出处:http://blog.csdn.net/u011479494/article/details/50682089 一.修改开机logo 由于我的机器分辨率为540*960 替换:med ...
- android 水滴动画,Android动画探索——图标依次变大的水滴效果
一直打算模仿ios,做一个安卓的水滴效果:比如有四个图标,四个图标依次出现,并由小变大.就像水滴掉落时一头大一头小一样. 首先分析需求: 1. 四个图标由小变大,那么是图标ScaleX和ScaleY两 ...
- Android MTK平台修改开关机动画和开机logo
转载请注明出处:http://blog.csdn.net/u011479494/article/details/50682089 一.修改开机logo 由于我的机器分辨率为540*960 替换:med ...
最新文章
- Mysql CPU占用高的问题解决方法小结
- HihoCoder - 1558
- SpringCloud微服务:阿里开源组件Nacos,服务和配置管理
- 漫步数学分析十六——紧集与连集的像
- java编程思想3感悟(4)---被隐藏的具体实现
- cesium添加填充_cesium编程中级(四)使用渐变纹理
- windows2003与文件共享有关的几个进程
- C/C++[codeup 2026]日期类
- 基于java springboot框架的电子发票管理系统
- VS Code Python “Statements must be separated by newlines or semicolons“
- 老梁说天下——慈善的红与黑
- Linux下查看dd命令执行进度
- 输入一个数字n,输出一个n层的特定三角形
- 测量角速度_自动驾驶系统的定海神针—惯性测量单元
- 11.7亿、苹果仅20%、1/4的时间看短视频...关于互联网,你必须知道的几个数字......
- Qt中sender()函数的用法
- L1-012 计算指数 (5 分) C语言
- mysql中何时需要引号,何时在MySQL中使用单引号,双引号和反勾号
- 列举5种以上表单元素中input的type类型
- Matlab | Lab4——用LU 分解法、 Jacobi 迭代、 Gauss-Seidel 迭代 解线性病态方程组(系数矩阵为Hilbert矩阵)
热门文章
- C语言为四维数组申请动态内存空间的方法(一)
- 高吞吐低时延日志系统需要注意的方面
- struct seq_file
- pl sql入门比较好的书_面试官问你SQL?这几本书足够了
- rust怎么调整夜晚亮度_买手机时LCD屏和OLED屏怎么选?终于明白了!
- python真是最烂的语言_在大型项目上,Python 是个烂语言吗?
- pytorch线性回归(笔记一)
- mysql源码目录在哪_Mysql源码学习——源码目录结构
- android 自定义组合键,自定义快捷操作 安卓虚拟Home键设置技巧
- [专栏精选]TextMeshPro插件