this is combine 8 commits from Jb branch, also refactoring code to fix ANR systemUI