[DESCRIPTION]
和之前KK版本相比,在L版本上面AAL的架构也有发生一些改变。
拿掉了之前KK平台上使用的MTK LABC,使用Android原生的自动背光功能。
AALService内部只保留QPPS(CABC)和DRE两个功能,并新增了一个Ultra Dimming功能。
(如何开启AAL功能请参考:FAQ13618 L版本之后如何开启AAL功能)
[SOLUTION]
 L版本AAL架构如下图所示,可以参考架构图阅读代码。
 有几个比较重要的地方需要注意。
(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=6,CABC和DRE都开启。如果InitFunction=2,只有CABC有开启。
如果InitFunction=4,只有DRE有开启。如果InitFunction=0,CABC和DRE都不开启。
(3)打开/关闭AAL功能的函数接口:
private static native void nativeSetAALFunction(int func);
参数func设置可以参数(2)中InitFunction的说明。
(4)打开/关闭AAL功能的adb 命令:
FAQ12836 如何用CMD 去开关AAL 各个子feature
(5)Ultra Dimming打开后,没有接口和命令关闭。如果要关闭,只有去掉Ultra Dimming的配置。
         (6)还有一个地方需要注意的是,Lightsensor的驱动代码。由于DRE功能需要从LightSensor
驱动中去获取环境光的一些资料。所以需要在Lightsensor的驱动中实现一个Ioctl的接口。举例如
下所示,比如stk3x1x的lightsensor,要确保在其stk3x1x_unlocked_ioctl函数中可以通过ALSPS_GET_ALS_DATA命令,获取相应的als值。(AAL中只有DRE功能会用到light sensor,其他功能都不会用到。LABC功能属于Android 原生架构)
        
                 

[FAQ13620]L版本之后AAL功能进一步介绍相关推荐

  1. FAQ13620]L版本AAL功能(2)——L版本AAL新架构

    DESCRIPTION] 和之前KK版本相比,在L版本上面AAL的架构也有发生一些改变. 拿掉了之前KK平台上使用的MTK LABC,使用Android原生的自动背光功能. AALService内部只 ...

  2. Matlab软件有哪些版本,matlab软件功能简要介绍及版本描述

    <matlab软件功能简要介绍及版本描述>由会员分享,可在线阅读,更多相关<matlab软件功能简要介绍及版本描述(2页珍藏版)>请在人人文库网上搜索. 1.MATLAB功能简 ...

  3. FLStudio水果编曲软件21.0版本下载及功能详细介绍

    昨天为大家展示了 FL STUDIO21 新增的插件,今天让我们看一看还有哪些新变化?稍后我们会放出介绍视频,更动态的展示,请持续关注!FL水果软件自从2018年更新出之后,直到2022年,一直深受国 ...

  4. [FAQ13618]L版本之后如何开启AAL功能

    [DESCRIPTION]                 对于L/M/N版本,如果想开启AAL功能,相比KK版本还是存在差异性. AAL 功能包含三个子功能QPPS(CABC),DRE,Ultra ...

  5. win7家庭版和旗舰版区别_Win7 ultimate是什么版本?ultimate是什么意思功能区别介绍!...

    Win7 ultimate是什么版本?ultimate是什么意思功能区别介绍! 对于Win7系统很多朋友都会觉的是一款很好用的操作系统,Win7系统的版本有很多种,那么Win7 ultimate是什么 ...

  6. 关于89 jb2上的自动设置按键唤醒系统的功能以及L版本上设置唤醒键

    [Description] 目前89 jb2版本上是默认实现打电话状态下实现按键唤醒系统的功能的,这样可以满足电话过程中的音量键有效等需求, 但是这套机制同时限制了一般状态下的按键唤醒系统的实现,因此 ...

  7. 国际版本Office365与国内版本office365的功能介绍

    说到office365相信大家也会同时想到windows azure,两个都是微软推出的云层次的功能服务.当然功能服务对于微软来说都会定义不同版本,比如最常见的操作系统,分为企业.专业.家庭等--对于 ...

  8. iOS开源项目MobileProject功能点介绍

    一:MobileProject简介 MobileProject项目是一个以MVC模式搭建的开源功能集合,基于Objective-C上面进行编写,意在解决新项目对于常见功能模块的重复开发,MobileP ...

  9. Cubase 12新功能详情介绍

    Cubase 12新功能详情介绍:Steinberg Licensing 是向前迈出的一大步,是进一步发展我们为您带来最佳用户体验的愿景的重要里程碑.这种体验包括用于创作音乐的复杂工具.可使用的优质内 ...

最新文章

  1. python画图-python画图汇总(持续更新)
  2. 各种框架实现了经典的 todo 应用
  3. silverlight之ToolTipService
  4. 几道题帮你搞定数据选择器
  5. ubuntu命令行登录
  6. Linux下仿windows任务管理器,开源任务管理器 Process Hacker (Windows)
  7. cocos2d-android-1 使用方法
  8. RxSwift中Observable的各种创建方法
  9. Fiddler抓包7-post请求(json)
  10. 响应式布局之网站头部导航
  11. jquery中的trigger和triggerHandler区别
  12. 手机号码好坏什么软件测试,测试你的手机号码好不好(很准哦)
  13. 使用数据驱动进行配对交易:简单交易策略
  14. pytorch---线性回归实现
  15. 007-aven-assembly-plugin和maven-jar-plugin打包,java启动命令
  16. 友盟对android的应用,Android 集成友盟统计
  17. android桌面雪花效果代码,Android营造雪花和雨滴浪漫效果
  18. hosts文件如何修改?已解决
  19. PPT基础(四十五)调整图片透明度
  20. 安装插件解决eclipse没有JS代码提示的问题

热门文章

  1. XSLT转换器的使用(Xalan和Saxon)
  2. 雷达系统 学习笔记(二)
  3. 在centos7上安装TinyProxy http代理
  4. MPLAB X IDE 生成PIC18xxx Bootloader代码
  5. intel性能测试工具VTune的功能和用法介绍
  6. VUE+Echart+Geojson实现全国地图map数据展示
  7. 大数据时代的政府治理与监管
  8. 分析服务器资源负载过高问题
  9. hdu 5411 CRB and Puzzle(矩阵快速幂)
  10. Effective C++ 55个具体做法 (Meyers) 1. 让自己习惯C++ 摘录