换了主题为什么调节屏幕亮度调节的地方没有变呀

根据测试描述和本地测试复现步骤和现象如下:

  1. 用遮光板遮挡 L-sensor,屏幕亮度调节条无法到达最左端
  2. 手动滑动屏幕亮度调节条到最左端再重复上一步骤,屏幕亮度调节条鈳以到最左端
  3. 恢复出厂设置清除数据等操作均无法保证在 L-sensor 被遮挡时进度条到最左边
1. 拿到背光曲线的配置表:
2. 根据配置表去查看代码中背咣曲线的mapping配置

通过需求表和配置的mapping数组关系,没发现任何问题

除了使用dump PMS(PowerManagerService)还可以在代码中加log查看屏幕亮度调节条变化到不同位置时候nit(光照强度)和 brightness(背光强度)之间的映射关系,通过对比实际打印出的mapping关系和xml配置的mapping关系作对比看是否一致

对比了一下,发现问题根因:

究其根因在于BSP同事在device下配置完成后,并未验证而device下的overlay是静态overlay,而vendor下配置的mapping映射数组是动态overlay优先级大于device,在运行时device下的配置并未生效拟合的背光曲线还是用了vendor下错误的mapping数组,导致出现该问题

这个问题当时在使用Pixel原生机时也是必现原因应该如出一辙。

当然既然找箌了原因,最终这个问题解决的方法也就很明了将device下的配置的背光mapping映射数组的数据迁移到vendor下的mapping数组中,问题解决

通过解决这个问题了解了Android在背光曲线这块的逻辑,转载了一篇文章写的挺好,大家有空可以看看做个参考

}

我要回帖

更多关于 屏幕亮度调节 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信