Change the irrational structure and fix Unexpected crashes when change dock mode

tower: https://tower.im/projects/8f19f0bf0e754f0b82ef2c24bc230973/todos/ef753d5571b546d795b94f931cd53a1f/

Change-Id: If8e9031d368ea0313ffe8f4bc6a9e052a65d9d50
Merge "Change the irrational structure and fix Unexpected crashes when change dock mode" into release/2014.2