不积跬步无以至千里
一.前摘 熟悉SystemUI模块的童鞋应该知道,SystemUI大部分都是window窗口的各大布局,然后出现不同的场景,而这里做的亮屏操作也是自己做的处理,这里测试就提出了一个bug。
bug描述如下:
在密码解锁界面当屏幕处于半亮屏状态,你去点击非输入密码区域,并不能重新点亮屏幕。
二.分析
1.怎么点亮屏幕?
通过观察发现SystemUI中各大对应的功能布局都是自己进行处理进行的亮屏操作,SystemUI经常通过如下逻辑实现亮屏。
代码路径如下:
app/src-2003/com/android/systemui/keyguard/KeyguardViewMediator.java
public void userActivity() {
mPM.userActivity(SystemClock.uptimeMillis(), false);
}
这里是通过PowerManager,调用的userActivity方法这里应该调用一次会使系统重新点亮一次屏幕休眠的时间,这里时间应该与设置模块中设置的休眠时间对应。
2.什么逻辑点亮屏幕