不積跬步無以至千里
一.前摘 熟悉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.什麼邏輯點亮屏幕
其實通過查看SystemUI中的一些代碼調用,示例如下:
①.代碼路徑:
app/src/com/android/systemui/statusbar/phone/PanelView.java
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (mInstantExpanding || !mNotificationsDragEnabled || mTouchDisabl