这个问题,主要是因为light.c文件中,对于优先级的设置
Carbide/hardware/qcom/display/liblight/light.c
根据高通文档80-na854-1_a中对于application notification 和 battery indication的描述,高通在原始设计的时候,应用提醒的优先级是高于电池指示的优先级的,但是在代码中体现的,则是相反。因此,需要对逻辑进行修改,修改完毕之后,由于这个程序是在HAL层,造成的问题是不知道如何去编译,经过他人帮助,得知如下方法。
1.在light.c文件所在的目录下执行命令mma,之后会编译得到一个light.msm8996.so的文件,这个文件的路径如下:
Carbide/out/target/product/msm8996/system/lib
或者是
Carbide/out/target/product/msm8996/system/lib64
2.由于在编译的时候,两个文件都会更新,因此不清楚哪个有效。最好的方法的就是将lib和lib64中的文件分开来push到手机中进行测试,push到手机的方法是:
adb remount
adb push 文件路径名 /system/lib/hw
另外,在执行mma之前,要到代码根目录下执行source build/ensource,之后进行lunch。