https://github.com/devangle/AndroidCommon