最近公司接了一個專案
因為資料內容不能隨便給能看見
於是就要求了類似LINE的螢幕鎖
像這樣
這時我第一個想到的是 : 用activity life cycle 來做操作
於是我就在每個可能會鎖到的activity,fragment 都加入一個共通的boolean 來做判斷
這時發現只用onResume跟onStop還不夠,還要從onCreate跟onActivityResult來下手才行
到最後成功了!!
可是程式碼醜到不行......萬一加了新的activity還要加入一堆判斷
我根本就違反了 Single responsibility principle (SOLID),
維護也變得相當困難,下一個看你程式碼的人根本不知道你在幹嘛
然後我就想到了otto ,只要regist,其他完全不用理它是怎麼實做的
所以我今天就做出了一個 screenLocker 來達到隱藏實做細節的目的