分享

android L版本AAL新架构

 linux_android 2016-04-25
 有几个比较重要的地方需要注意。
(1)由于自动背光功能是使用的Android原生的LABC功能,所以LABC相关的客制化部分
都是按照Android原生的走。
第一是,config.xml文件的客制化。MTK默认Release出去的codebase里面的config.xml中
有default的table值。如下图所示,客户可以根据需求进行Turing和修改,一般情况下都不会去动它。
路径是alps/frameworks/base/core/res/res/values/config.xml
第二是,LABC从亮到暗的速度,LABC从暗到亮的速度的调整,修改两个变量就可以了,如下图所示:
(2)说完LABC,再来看看AALService中的CABC和DRE功能。和KK相比
客制化部分仍然在cust_aal.cpp中,只是文件的路径发生了改变,文件中的一些
变量发生了改变。
路径在alps/vendor/mediatek/proprietary/custom/$Project/hal/aal/cust_aal.cpp
由于把MTK LABC给Phased out掉了,所以与MTK LABC相关的变量也Phased out了。
DRE功能增加了一个变量,LowBLReadabilityLevel。CABC功能相应的客制化变量
没有发生改变。这里其实用MTK的default value就好了。
增加了一个变量,InitFunction,这个变量是说AAL启动默认开启哪些功能,
如果InitFunction=6,CABC和DRE都开启。如果InitFunction=2,只有CABC有开启。
如果InitFunction=4,只有DRE有开启。如果InitFunction=0,CABC和DRE都不开启。
(3)还有一个地方需要注意的是,Lightsensor的驱动代码。由于DRE功能需要从LightSensor
驱动中去获取环境光的一些资料。所以需要在Lightsensor的驱动中实现一个Ioctl的接口。举例如
下所示,比如stk3x1x的lightsensor,要确保在其stk3x1x_unlocked_ioctl函数中可以通过ALSPS_GET_ALS_DATA命令,获取相应的als值。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多