不積跬步無以至千里
一.前摘
這個bug是屬於在SIM卡解鎖的一種情形下產生的,其中的原因有在解鎖界面中PIN、Pattern、Password中去掉了導航欄的back鍵並添加了返回鍵,其實在自測過程中發現如果不去掉導航欄,也會在這個界面出現的,是偶現出現導航欄,點擊back鍵同樣都會出現此問題。這裏返回按鈕處理是模仿的back鍵的點擊邏輯處理。
二.現象與分析
其中一種解鎖界面的如圖所示:
在這個界面做了處理,把導航欄去掉了而用“返回”按鈕來代替此作用,而我們“返回”按鈕的控制邏輯和導航欄的back鍵一樣。代碼邏輯都是調用的如下:
代碼路徑:
app/src/com/android/systemui/statusbar/phone/StatusBar.java
public boolean onBackPressed() {
boolean isScrimmedBouncer = mScrimController.getState() == ScrimState.BOUNCER_SCRIMMED;
//首先會進入這個邏輯中
if (mStatusBarKeyguardViewManager.onBackPressed(isScrimmedBouncer /* hideImmediately */))